diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 516f4b1538..f19374f08c 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -289,7 +289,7 @@ class Field(object): if self.choices: return first_choice + list(self.choices) rel_model = self.rel.to - return first_choice + [(x._get_pk_val(), str(x)) + 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)] def get_choices_default(self):