diff options
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/models/base.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/django/db/models/base.py b/django/db/models/base.py index 657236571d..bdae7eccc2 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -176,11 +176,12 @@ class Model(object): # If it does already exist, do an UPDATE. if cursor.fetchone(): db_values = [f.get_db_prep_save(f.pre_save(self, False)) for f in non_pks] - cursor.execute("UPDATE %s SET %s WHERE %s=%%s" % \ - (backend.quote_name(self._meta.db_table), - ','.join(['%s=%%s' % backend.quote_name(f.column) for f in non_pks]), - backend.quote_name(self._meta.pk.column)), - db_values + [pk_val]) + if db_values: + cursor.execute("UPDATE %s SET %s WHERE %s=%%s" % \ + (backend.quote_name(self._meta.db_table), + ','.join(['%s=%%s' % backend.quote_name(f.column) for f in non_pks]), + backend.quote_name(self._meta.pk.column)), + db_values + [pk_val]) else: record_exists = False if not pk_set or not record_exists: |
