Fixed error in raw_id_admin on ManyToManyFields caused by [1434] -- they weren't working.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@1485 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2005-11-29 05:22:51 +00:00
parent de7a336486
commit 1ce5ef6166
2 changed files with 7 additions and 3 deletions

View File

@ -887,8 +887,8 @@ class CommaSeparatedIntegerField(TextField):
class RawIdAdminField(CommaSeparatedIntegerField): class RawIdAdminField(CommaSeparatedIntegerField):
def html2python(data): def html2python(data):
return data.split(','); return data.split(',')
html2python = classmethod(html2python) html2python = staticmethod(html2python)
class XMLLargeTextField(LargeTextField): class XMLLargeTextField(LargeTextField):
""" """

View File

@ -1702,7 +1702,11 @@ def manipulator_save(opts, klass, add, change, self, new_data):
for f in opts.many_to_many: for f in opts.many_to_many:
if self.follow.get(f.name, None): if self.follow.get(f.name, None):
if not f.rel.edit_inline: if not f.rel.edit_inline:
was_changed = getattr(new_object, 'set_%s' % f.name)(new_data.getlist(f.name)) if f.rel.raw_id_admin:
new_vals = new_data.get(f.name, ())
else:
new_vals = new_data.getlist(f.name)
was_changed = getattr(new_object, 'set_%s' % f.name)(new_vals)
if change and was_changed: if change and was_changed:
self.fields_changed.append(f.verbose_name) self.fields_changed.append(f.verbose_name)