From ad39bb1620a962597e8ed6c6d956e01a33fc654a Mon Sep 17 00:00:00 2001 From: Adrian Holovaty Date: Tue, 1 Aug 2006 14:20:01 +0000 Subject: [PATCH] Fixed #2463 -- Fixed temporarily broken many-to-many fields in admin interface due to [3507]. Thanks, Nesh git-svn-id: http://code.djangoproject.com/svn/django/trunk@3508 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/models/fields/__init__.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index f19374f08c..690695c75d 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -289,8 +289,11 @@ class Field(object): if self.choices: return first_choice + list(self.choices) rel_model = self.rel.to - return first_choice + [(getattr(x, self.rel.get_related_field().attname), str(x)) - for x in rel_model._default_manager.complex_filter(self.rel.limit_choices_to)] + if hasattr(self.rel, 'get_related_field'): + lst = [(getattr(x, self.rel.get_related_field().attname), str(x)) for x in rel_model._default_manager.complex_filter(self.rel.limit_choices_to)] + else: + lst = [(x._get_pk_val(), str(x)) for x in rel_model._default_manager.complex_filter(self.rel.limit_choices_to)] + return first_choice + lst def get_choices_default(self): if self.radio_admin: