Django

Code

Changeset 3118

Show
Ignore:
Timestamp:
06/12/06 07:49:14 (2 years ago)
Author:
mtredinnick
Message:

Fixed the empty model saving case so that it retrieves the primary key id. Also
updated the tests to test this case.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/db/models/base.py

    r3115 r3118  
    188188                    (backend.quote_name(self._meta.db_table), ','.join(field_names), 
    189189                    ','.join(placeholders)), db_values) 
    190                 if self._meta.has_auto_field and not pk_set: 
    191                     setattr(self, self._meta.pk.attname, backend.get_last_insert_id(cursor, self._meta.db_table, self._meta.pk.column)) 
    192190            else: 
    193191                # Create a new record with defaults for everything. 
     
    196194                     backend.quote_name(self._meta.pk.column), 
    197195                     backend.get_pk_default_value())) 
     196            if self._meta.has_auto_field and not pk_set: 
     197                setattr(self, self._meta.pk.attname, backend.get_last_insert_id(cursor, self._meta.db_table, self._meta.pk.column)) 
    198198        transaction.commit_unless_managed() 
    199199 
  • django/trunk/tests/modeltests/empty/models.py

    r3116 r3118  
    1313API_TESTS = """ 
    1414>>> m = Empty() 
     15>>> m.id 
    1516>>> m.save() 
    1617>>> m2 = Empty() 
     
    1819>>> len(Empty.objects.all()) 
    19202 
     21>>> m.id is not None 
     22True 
    2023 
    2124"""