summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2008-03-11 02:48:39 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2008-03-11 02:48:39 +0000
commitdf8e3e65127252d31417856054d7a2fe3b41fb00 (patch)
tree8529a4deeb87b9b5af9ad8aa471fdc56c2b496ff
parentf2f933450f342058badce379b51b17eea81ad4de (diff)
queryset-refactor: Fixed an oversight in Model.save() that was preventing updates to parent models beyond the initial save. Fixed #6706.
git-svn-id: http://code.djangoproject.com/svn/django/branches/queryset-refactor@7218 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/db/models/base.py2
-rw-r--r--tests/modeltests/model_inheritance/models.py4
2 files changed, 4 insertions, 2 deletions
diff --git a/django/db/models/base.py b/django/db/models/base.py
index 67d1ec974c..99c6cea862 100644
--- a/django/db/models/base.py
+++ b/django/db/models/base.py
@@ -268,7 +268,7 @@ class Model(object):
self.save(raw, parent)
setattr(self, field.attname, self._get_pk_val(parent._meta))
- non_pks = [f for f in self._meta.local_fields if not f.primary_key]
+ non_pks = [f for f in meta.local_fields if not f.primary_key]
# First, try an UPDATE. If that doesn't update anything, do an INSERT.
pk_val = self._get_pk_val(meta)
diff --git a/tests/modeltests/model_inheritance/models.py b/tests/modeltests/model_inheritance/models.py
index 988edefa9c..d6ff586ee3 100644
--- a/tests/modeltests/model_inheritance/models.py
+++ b/tests/modeltests/model_inheritance/models.py
@@ -128,7 +128,9 @@ Test constructor for Restaurant.
>>> r.save()
# Test the constructor for ItalianRestaurant.
->>> ir = ItalianRestaurant(name='Ristorante Miron', address='1234 W. Elm', serves_hot_dogs=False, serves_pizza=False, serves_gnocchi=True, rating=4)
+>>> ir = ItalianRestaurant(name='Ristorante Miron', address='1234 W. Ash', serves_hot_dogs=False, serves_pizza=False, serves_gnocchi=True, rating=4)
+>>> ir.save()
+>>> ir.address = '1234 W. Elm'
>>> ir.save()
# Make sure Restaurant and ItalianRestaurant have the right fields in the right