Django

Code

Changeset 3182

Show
Ignore:
Timestamp:
06/20/06 22:39:47 (2 years ago)
Author:
mtredinnick
Message:

Fixed #1928 -- Correctly create foreign key references when there are multiple
keys on multiple models. Based on a patch from Geert Vanderkelen and some
diagnosis from hornero.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/core/management.py

    r3178 r3182  
    107107        output, references = _get_sql_model_create(klass, models_output) 
    108108        final_output.extend(output) 
    109         pending_references.update(references) 
     109        for refto, refs in references.items(): 
     110            try: 
     111                pending_references[refto].extend(refs) 
     112            except KeyError: 
     113                pending_references[refto] = refs 
    110114        final_output.extend(_get_sql_for_pending_references(klass, pending_references)) 
    111115        # Keep track of the fact that we've created the table for this model. 
     
    459463            seen_models.add(model) 
    460464            created_models.add(model) 
    461             pending_references.update(references) 
     465            for refto, refs in references.items(): 
     466                try: 
     467                    pending_references[refto].extend(refs) 
     468                except KeyError: 
     469                    pending_references[refto] = refs 
    462470            sql.extend(_get_sql_for_pending_references(model, pending_references)) 
    463471            print "Creating table %s" % model._meta.db_table