许多时候我们都需要重新写方法去得到数据,例如
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