diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 89c0a714c..d5d828c39 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -1469,17 +1469,17 @@ class MultipleChoiceField(ChoiceField): if not self.allow_empty and len(data) == 0: self.fail('empty') - return { - # Arguments for super() are needed because of scoping inside - # comprehensions. + # Arguments for super() are needed because of scoping inside + # comprehensions. + return list(dict.fromkeys([ super(MultipleChoiceField, self).to_internal_value(item) for item in data - } + ])) def to_representation(self, value): - return { + return list(dict.fromkeys([ self.choice_strings_to_values.get(str(item), item) for item in value - } + ])) class FilePathField(ChoiceField):