Ensure that realtionship fields '.choices' returns an empty dict when accessed with a read-only field. Closes #2910.

This commit is contained in:
Tom Christie 2015-07-14 13:21:08 +01:00
parent 3c57e08f62
commit bca2ea35df

View File

@ -109,12 +109,18 @@ class RelatedField(Field):
@property
def choices(self):
queryset = self.get_queryset()
if queryset is None:
# Ensure that field.choices returns something sensible
# even when accessed with a read-only field.
return {}
return OrderedDict([
(
six.text_type(self.to_representation(item)),
six.text_type(item)
)
for item in self.get_queryset()
for item in queryset
])