From af30319f3b92f3c4927ddd61ebd037613cfa4fc8 Mon Sep 17 00:00:00 2001 From: Matt Bartolome Date: Wed, 18 Feb 2015 10:31:50 -0800 Subject: [PATCH] add KeyError exception with valid choice message. --- rest_framework/fields.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 = {