# HG changeset patch
# User Klaas van Schelven <klaas@vanschelven.com>
# Date 1295019289 -3600
# Node ID cf2ca886591242f0779d63b923e644fab062827b
# Parent  3ca2d76121b7532ee490f5ce00ae91bc0c344cd8
Fix for #10967

diff -r 3ca2d76121b7 -r cf2ca8865912 django/db/models/base.py
--- a/django/db/models/base.py	Fri Jan 14 08:31:14 2011 +0000
+++ b/django/db/models/base.py	Fri Jan 14 16:34:49 2011 +0100
@@ -522,7 +522,7 @@
                     if force_update or non_pks:
                         values = [(f, None, (raw and getattr(self, f.attname) or f.pre_save(self, False))) for f in non_pks]
                         rows = manager.using(using).filter(pk=pk_val)._update(values)
-                        if force_update and not rows:
+                        if force_update and values and not rows:
                             raise DatabaseError("Forced update did not affect any rows.")
                 else:
                     record_exists = False
diff -r 3ca2d76121b7 -r cf2ca8865912 tests/modeltests/force_insert_update/models.py
--- a/tests/modeltests/force_insert_update/models.py	Fri Jan 14 08:31:14 2011 +0000
+++ b/tests/modeltests/force_insert_update/models.py	Fri Jan 14 16:34:49 2011 +0100
@@ -8,6 +8,9 @@
     name = models.CharField(max_length = 10)
     value = models.IntegerField()
 
+class Subclass(Counter):
+    pass
+
 class WithCustomPK(models.Model):
     name = models.IntegerField(primary_key=True)
     value = models.IntegerField()
diff -r 3ca2d76121b7 -r cf2ca8865912 tests/modeltests/force_insert_update/tests.py
--- a/tests/modeltests/force_insert_update/tests.py	Fri Jan 14 08:31:14 2011 +0000
+++ b/tests/modeltests/force_insert_update/tests.py	Fri Jan 14 16:34:49 2011 +0100
@@ -1,7 +1,7 @@
 from django.db import transaction, IntegrityError, DatabaseError
 from django.test import TestCase
 
-from models import Counter, WithCustomPK
+from models import Counter, WithCustomPK, Subclass
 
 
 class ForceTests(TestCase):
@@ -36,3 +36,10 @@
         # the data isn't in the database already.
         obj = WithCustomPK(name=1, value=1)
         self.assertRaises(DatabaseError, obj.save, force_update=True)
+
+        subclass = Subclass(name="one", value=1)
+        subclass.save()
+        subclass.name = "updated"
+        subclass.save(force_update=True)
+
+        self.fail()
