diff --git a/django/db/models/manipulators.py b/django/db/models/manipulators.py index d62b0e7e79ebc..daca9d710504f 100644 --- a/django/db/models/manipulators.py +++ b/django/db/models/manipulators.py @@ -215,6 +215,9 @@ def save(self, new_data): # 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: + new_value = rel_new_data[f.attname] + if f.rel.raw_id_admin: + new_value = new_value[0] 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))