DRF - 从序列化程序返回自定义值

时间:2017-01-25 13:27:52

标签: django-rest-framework

我有一个status字符模型字段,可以存储(“Y”,“N”,“I”)。

我写了ModelSerializer如下。

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

现在,我想为Yes而不是NoIntermediatestatus返回YNI

你是怎么做到的?我应该在文件中查找什么?

1 个答案:

答案 0 :(得分:2)

您可以覆盖序列化程序的to_representation()方法并调用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