Django Rest Framework with ChoiceField

Django provides the Model.get_FOO_display method to get the “human-readable” value of a field:

class UserSerializer(serializers.ModelSerializer):
    gender = serializers.SerializerMethodField()

    class Meta:
        model = User

    def get_gender(self,obj):
        return obj.get_gender_display()

for the latest DRF (3.6.3) – easiest method is:

gender = serializers.CharField(source="get_gender_display")

Leave a Comment