| 1 | Index: third-party/Django-1.0.2-final+4102.3+2705/django/db/models/base.py
|
|---|
| 2 | ===================================================================
|
|---|
| 3 | --- third-party/Django-1.0.2-final+4102.3+2705/django/db/models/base.py (revision 3362)
|
|---|
| 4 | +++ third-party/Django-1.0.2-final+4102.3+2705/django/db/models/base.py (working copy)
|
|---|
| 5 | @@ -358,7 +358,10 @@
|
|---|
| 6 | non_pks = [f for f in meta.local_fields if not f.primary_key]
|
|---|
| 7 | modified_attrs = self._modified_attrs
|
|---|
| 8 | non_pks = [f for f in non_pks if (f.name in modified_attrs or f.attname in modified_attrs)]
|
|---|
| 9 | - self._reset_modified_attrs()
|
|---|
| 10 | +
|
|---|
| 11 | + # Reset modified attribute accumulator after parent fields have been updated
|
|---|
| 12 | + if cls == self.__class__:
|
|---|
| 13 | + self._reset_modified_attrs()
|
|---|
| 14 |
|
|---|
| 15 | # First, try an UPDATE. If that doesn't update anything, do an INSERT.
|
|---|
| 16 | pk_val = self._get_pk_val(meta)
|
|---|