From f4376fb6839ddd7e30698e170883115780498905 Mon Sep 17 00:00:00 2001 From: Kirill Gagarski Date: Sat, 14 Dec 2019 01:16:01 +0300 Subject: [PATCH] Fixing failing test with coercing strs to ints --- rest_framework/fields.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rest_framework/fields.py b/rest_framework/fields.py index f4a9b7ce5..3367950be 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -1468,7 +1468,7 @@ class ChoiceField(Field): def to_representation(self, value): # Preserving old untyped behavior if not self.underlying_field: - return value + return self.choice_reprs_to_values.get(str(value), value) return self.underlying_field.to_representation(value) def iter_options(self): @@ -1533,7 +1533,9 @@ class MultipleChoiceField(ChoiceField): def to_representation(self, value): return { - self.underlying_field.to_representation(item) if self.underlying_field else value for item in value + self.underlying_field.to_representation(item) + if self.underlying_field + else self.choice_reprs_to_values.get(str(item), item) for item in value }