diff --git a/rest_framework/relations.py b/rest_framework/relations.py index 56af657d9d..3d3314f586 100644 --- a/rest_framework/relations.py +++ b/rest_framework/relations.py @@ -141,14 +141,16 @@ def get_attribute(self, instance): # Standard case, return the object instance. return get_attribute(instance, self.source_attrs) - @property - def choices(self): + def get_choices(self, cutoff=None): queryset = self.get_queryset() if queryset is None: # Ensure that field.choices returns something sensible # even when accessed with a read-only field. return {} + if cutoff: + queryset = queryset[:cutoff] + return OrderedDict([ ( six.text_type(self.to_representation(item)), @@ -157,13 +159,17 @@ def choices(self): for item in queryset ]) + @property + def choices(self): + return self.get_choices() + @property def grouped_choices(self): return self.choices def iter_options(self): return iter_options( - self.grouped_choices, + self.get_choices(self.html_cutoff), cutoff=self.html_cutoff, cutoff_text=self.html_cutoff_text )
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: