Django

Code

Changeset 7513

Show
Ignore:
Timestamp:
05/02/08 13:38:06 (3 months ago)
Author:
jbronn
Message:

gis: Fixed _post_create_sql hook to not generate additional SQL for fields belonging to a parent model via model inheritance. Thanks, robotika.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/gis/django/core/management/sql.py

    r7482 r7513  
    437437 
    438438    # Post-creation SQL should come before any initial SQL data is loaded. 
    439     for f in opts.fields: 
    440         if hasattr(f, '_post_create_sql'): 
    441             output.extend(f._post_create_sql(style, model._meta.db_table)) 
     439    # However, this should not be done for fields that are part of a  
     440    # a parent model (via model inheritance). 
     441    nm = opts.init_name_map() 
     442    post_sql_fields = [f for f in opts.fields if nm[f.name][1] is None and hasattr(f, '_post_create_sql')] 
     443    for f in post_sql_fields: 
     444        output.extend(f._post_create_sql(style, model._meta.db_table)) 
    442445 
    443446    # Some backends can't execute more than one SQL statement at a time,