From e6f09afa7871e7d1b813e126841220515193c9e2 Mon Sep 17 00:00:00 2001 From: James Bennett Date: Wed, 11 Jul 2007 17:41:58 +0000 Subject: [PATCH] 0.91-bugfixes: Fix problem parsing values from ManyToManyField with raw_id_admin. Thanks, Tom Tobin git-svn-id: http://code.djangoproject.com/svn/django/branches/0.91-bugfixes@5647 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/core/meta/__init__.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/django/core/meta/__init__.py b/django/core/meta/__init__.py index eaa69b960b..916ce42aa1 100644 --- a/django/core/meta/__init__.py +++ b/django/core/meta/__init__.py @@ -1134,6 +1134,14 @@ def method_get_many_to_many(field_with_rel, self): # Handles setting many-to-many relationships. # Example: Poll.set_sites() def method_set_many_to_many(rel_field, self, id_list): + if len(id_list) == 1 and isinstance(id_list[0], basestring) and ',' in id_list[0]: + new_id_list = [] + for bit in id_list[0].split(','): + try: + new_id_list.append(int(bit.strip())) + except ValueError: + continue + id_list = new_id_list current_ids = [getattr(obj, obj._meta.pk.attname) for obj in method_get_many_to_many(rel_field, self)] ids_to_add, ids_to_delete = dict([(i, 1) for i in id_list]), [] for current_id in current_ids: