summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2006-08-01 14:20:01 +0000
committerAdrian Holovaty <adrian@holovaty.com>2006-08-01 14:20:01 +0000
commitad39bb1620a962597e8ed6c6d956e01a33fc654a (patch)
treedd6eb0f1e42160d58016489e75779139b40897b4 /django
parent97e820ab3a71c65a39d8ce2539735dc9c73b5cec (diff)
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
Diffstat (limited to 'django')
-rw-r--r--django/db/models/fields/__init__.py7
1 files 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: