| 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) |
|---|