Django中的serializers(序列化器)重写方法

许多时候我们都需要重新写方法去得到数据,例如

class OrderSerializer(serializers.ModelSerializer):
    purchaser_id = serializers.SerializerMethodField()
    
    class Meta:
        model = Order
        fields = ("__all__")

	# 通过方法得到purchaser_id
    def get_purchaser_id(self, obj):
        purchaser_id = obj.purchaser_id if obj.purchaser_id else 0
        if obj.state == 'draft' and purchaser_id != obj.partner.user.id:
            purchaser_id = obj.partner.user.id
        return purchaser_id

你可能感兴趣的:(DRF相关)