Kishor Pawar
Kishor Pawar

Reputation: 3526

DRF - Return custom values from serializers

I have a status Character model field which can store either ("Y", "N", "I").

I have written ModelSerializer as below.

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('status')  

Now I want to return Yes or No or Intermediate for status instead of Y or N or I

How do you do that? What should I look for in document?

Upvotes: 0

Views: 1724

Answers (1)

Ivan Semochkin
Ivan Semochkin

Reputation: 8897

You could override to_representation() method of a serializer and call get_field_display():

class UserSerializer(serializers.ModelSerializer):

    class Meta:
        model = User
        fields = ('status', )

    def to_representation(self, instance):
        representation = super(UserSerializer, self).to_representation(instance)
        representation['status'] = instance.get_status_display()
        return representation

Upvotes: 4

Related Questions