summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2006-09-25 14:06:14 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2006-09-25 14:06:14 +0000
commit175337605d087971306f69928d5db582aa4ece86 (patch)
tree3f0caa6cd70428577a920f32703c640fc91edff5
parenta64cb2e4a60e5505bd48f20914eacad05a2341e2 (diff)
Fixes #1816, #2243 -- Removed a stale remnant of pre-magic removal code in manipulators that modify m2m object that are edited inline. Thanks to dolemite@wuli.nu and coconutstudio@yahoo.com for the original reports, Tyson Tate for a clean test case, and Jay Parlar for helping out with a solution.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3830 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/db/models/manipulators.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/django/db/models/manipulators.py b/django/db/models/manipulators.py
index b0ce48dec5..02d1742517 100644
--- a/django/db/models/manipulators.py
+++ b/django/db/models/manipulators.py
@@ -129,6 +129,7 @@ class AutomaticManipulator(forms.Manipulator):
# TODO: Add to 'fields_changed'
expanded_data = DotExpandedDict(dict(new_data))
+ print expanded_data
# Save many-to-one objects. Example: Add the Choice objects for a Poll.
for related in self.opts.get_all_related_objects():
# Create obj_list, which is a DotExpandedDict such as this:
@@ -215,8 +216,9 @@ class AutomaticManipulator(forms.Manipulator):
# Save many-to-many objects.
for f in related.opts.many_to_many:
if child_follow.get(f.name, None) and not f.rel.edit_inline:
- was_changed = getattr(new_rel_obj, 'set_%s' % f.name)(rel_new_data[f.attname])
- if self.change and was_changed:
+ print 'rel_new_data:',rel_new_data
+ setattr(new_rel_obj, f.name, f.rel.to.objects.filter(pk__in=rel_new_data[f.attname]))
+ if self.change:
self.fields_changed.append('%s for %s "%s"' % (f.verbose_name, related.opts.verbose_name, new_rel_obj))
# If, in the change stage, all of the core fields were blank and