Author: mtredinnick
Date: 2006-08-09 22:55:03 -0500 (Wed, 09 Aug 2006)
New Revision: 3548

Modified:
   django/trunk/django/db/models/base.py
   django/trunk/tests/modeltests/empty/models.py
Log:
Fixed #2512 -- Fixed SQL error when saving existing empty models.


Modified: django/trunk/django/db/models/base.py
===================================================================
--- django/trunk/django/db/models/base.py       2006-08-10 03:48:34 UTC (rev 
3547)
+++ django/trunk/django/db/models/base.py       2006-08-10 03:55:03 UTC (rev 
3548)
@@ -176,11 +176,12 @@
             # 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:

Modified: django/trunk/tests/modeltests/empty/models.py
===================================================================
--- django/trunk/tests/modeltests/empty/models.py       2006-08-10 03:48:34 UTC 
(rev 3547)
+++ django/trunk/tests/modeltests/empty/models.py       2006-08-10 03:55:03 UTC 
(rev 3548)
@@ -20,5 +20,7 @@
 2
 >>> m.id is not None
 True
+>>> existing = Empty(m.id)
+>>> existing.save()
 
 """


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-updates
-~----------~----~----~----~------~----~------~--~---

Reply via email to