diff options
| author | Tom Christie | 2014-11-19 09:31:26 +0000 | 
|---|---|---|
| committer | Tom Christie | 2014-11-19 09:31:26 +0000 | 
| commit | e49d22dbda5ac889ab89f277e17752c840819de2 (patch) | |
| tree | ab5403244b16800bd9f1eb8821d312f135bf9aaf | |
| parent | f573aaee4eabb9bf677c350219c8feb2333a6fa1 (diff) | |
| download | django-rest-framework-e49d22dbda5ac889ab89f277e17752c840819de2.tar.bz2 | |
Allow blank choices to render. Closes #2071.
| -rw-r--r-- | rest_framework/fields.py | 2 | ||||
| -rw-r--r-- | tests/test_fields.py | 3 | 
2 files changed, 4 insertions, 1 deletions
| diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 36afe7a9..bb43708d 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -947,6 +947,8 @@ class ChoiceField(Field):              self.fail('invalid_choice', input=data)      def to_representation(self, value): +        if value in ('', None): +            return value          return self.choice_strings_to_values[six.text_type(value)] diff --git a/tests/test_fields.py b/tests/test_fields.py index 5db381ac..13525632 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -793,7 +793,8 @@ class TestChoiceField(FieldValues):          'amazing': ['`amazing` is not a valid choice.']      }      outputs = { -        'good': 'good' +        'good': 'good', +        '': ''      }      field = serializers.ChoiceField(          choices=[ | 
