diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 500018f3d..80eadf1e8 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -769,7 +769,9 @@ class MultipleChoiceField(ChoiceField): ]) def to_representation(self, value): - return [self.choice_strings_to_values[str(item)] for item in value] + return set([ + self.choice_strings_to_values[str(item)] for item in value + ]) # File types... diff --git a/tests/test_fields.py b/tests/test_fields.py index 3343123f4..3cfc1b88f 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -577,7 +577,9 @@ class TestMultipleChoiceField(FieldValues): 'abc': ['Expected a list of items but got type `str`'], ('aircon', 'incorrect'): ['`incorrect` is not a valid choice.'] } - outputs = {} + outputs = [ + (['aircon', 'manual'], set(['aircon', 'manual'])) + ] field = fields.MultipleChoiceField( choices=[ ('aircon', 'AirCon'),