Django-序列化(自定义序列化字段)

from rest_framework import serializers

class PlainListSerializers(serializers.ModelSerializer):
    orders_count = serializers.SerializerMethodField()
    
    class Meta:
        model = PlainList
        fields = '__all__'
    
    def get_orders_count(self, obj):
        return SysOrders.objects.filter(plain_num=obj.plain_num).count()

计划列表中包括某计划的订单数量,但不保存在数据库中,获取该计划的数据时通过计划号从订单库中获取该计划订单的数量(get_orders_count 与 orders_count 需对应)

def post(self, request):
    data = json.loads(request.body.decode("utf-8"))
    plains_query = PlainList.objects.all() if data["query"] == "" else \
                  PlainList.objects.filter(plain_num=data["query"])
    serializer = PlainListSerializers(plains_query, many=True)
    return Response(serializer.data)
posted @ 2025-03-26 21:52  起名字太难0123  阅读(15)  评论(0)    收藏  举报