diff options
Diffstat (limited to 'django/db/models/base.py')
| -rw-r--r-- | django/db/models/base.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/django/db/models/base.py b/django/db/models/base.py index 68e805e003..21609afb7e 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -189,6 +189,12 @@ class Model(object): ','.join(placeholders)), db_values) if self._meta.has_auto_field and not pk_set: setattr(self, self._meta.pk.attname, backend.get_last_insert_id(cursor, self._meta.db_table, self._meta.pk.column)) + else: + # Create a new record with defaults for everything. + cursor.execute("INSERT INTO %s (%s) VALUES (%s)" % + (backend.quote_name(self._meta.db_table), + backend.quote_name(self._meta.pk.column), + backend.get_pk_default_value())) transaction.commit_unless_managed() # Run any post-save hooks. |
