diff --git a/rest_framework/fields.py b/rest_framework/fields.py index a5348922a..6b65df68f 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -1024,8 +1024,11 @@ class ChoiceField(Field): def to_representation(self, value): if value in ('', None): return value - return self.choice_strings_to_values[six.text_type(value)] + try: + return self.choice_strings_to_values[six.text_type(value)] + except KeyError: + self.fail('invalid_choice', input=value) class MultipleChoiceField(ChoiceField): default_error_messages = {