diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 65e7bda65..96fcc257a 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -1042,16 +1042,10 @@ class ChoiceField(Field): except KeyError: self.fail('invalid_choice', input=data) - def representation_value(self, value): - try: - return self.choice_strings_to_values[six.text_type(value)] - except KeyError: - return value - def to_representation(self, value): if value in ('', None): return value - return self.representation_value(value) + return self.choice_strings_to_values.get(six.text_type(value), value) class MultipleChoiceField(ChoiceField): @@ -1079,7 +1073,7 @@ class MultipleChoiceField(ChoiceField): def to_representation(self, value): return set([ - self.representation_value(item) for item in value + self.choice_strings_to_values.get(six.text_type(item), item) for item in value ])