Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

gis: Fixed `_post_create_sql` hook to not generate additional SQL for…

… fields belonging to a parent model via model inheritance. Thanks, robotika.

git-svn-id: http://code.djangoproject.com/svn/django/branches/gis@7513 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 579c9d45679dd8f6e9d83cfd75d09fae0595dedf 1 parent 57c700d
@jbronn jbronn authored
Showing with 6 additions and 3 deletions.
  1. +6 −3 django/core/management/sql.py
View
9 django/core/management/sql.py
@@ -436,9 +436,12 @@ def custom_sql_for_model(model, style):
output = []
# Post-creation SQL should come before any initial SQL data is loaded.
- for f in opts.fields:
- if hasattr(f, '_post_create_sql'):
- output.extend(f._post_create_sql(style, model._meta.db_table))
+ # However, this should not be done for fields that are part of a
+ # a parent model (via model inheritance).
+ nm = opts.init_name_map()
+ post_sql_fields = [f for f in opts.fields if nm[f.name][1] is None and hasattr(f, '_post_create_sql')]
+ for f in post_sql_fields:
+ output.extend(f._post_create_sql(style, model._meta.db_table))
# Some backends can't execute more than one SQL statement at a time,
# so split into separate statements.
Please sign in to comment.
Something went wrong with that request. Please try again.