如何在顶部显示所有总值而不是在每个d上

2024-09-26 04:52:32 发布

您现在位置:Python中文网/ 问答频道 /正文

在这里,我试图得到所有字段的总值,我得到了结果,但我只想显示一次所有值,而不是每个数据中的所有值,所以如何只在顶部显示一次这些数据

“计数”:6

"next": null, "previous": null, "results": [
    {
        "pk": 1,
        "user": "Rahul Raj",
        "trwalk": 32,
        "Dtwalk": 13,
        "trclassic": 45,
        "Dtclassic": 16,
        "trelectric": 32,
        "Dtelectric": 12,
        "totalMilage": 122,
        "totalweight": 212,
        "phone": "372377233",
        "total_milage": 732,
        "total_weight": 1272,
        "total_travel_walk": 192,
        "total_distribute_walk": 78,
        "total_travel_classic": 270,
        "total_distribute_classic": 96,
        "total_travel_electric": 192,
        "total_distribute_electric": 72
    },

但我想要这样的结果

    "count": 6,
    "next": null,
    "previous": null,
    "total_milage": 732,
    "total_weight": 1272,
    "total_travel_walk": 192,
    "total_distribute_walk": 78,
    "total_travel_classic": 270,
    "total_distribute_classic": 96,
    "total_travel_electric": 192,
    "total_distribute_electric": 72
    "results": [
        {
            "pk": 1,
            "user": "Rahul Raj",
            "trwalk": 32,
            "Dtwalk": 13,
            "trclassic": 45,
            "Dtclassic": 16,
            "trelectric": 32,
            "Dtelectric": 12,
            "totalMilage": 122,
            "totalweight": 212,
            "phone": "372377233",

        },

这是我的代码serializers.py

class UlectricSerializer(serializers.ModelSerializer):
    total_milage = serializers.SerializerMethodField()
    total_weight = serializers.SerializerMethodField()
    total_travel_walk = serializers.SerializerMethodField()
    total_distribute_walk = serializers.SerializerMethodField()
    total_travel_classic = serializers.SerializerMethodField()
    total_distribute_classic = serializers.SerializerMethodField()
    total_travel_electric = serializers.SerializerMethodField()
    total_distribute_electric= serializers.SerializerMethodField()

    class Meta:
        model = Muser
        fields = ('pk','user','trwalk','Dtwalk','trclassic','Dtclassic','trelectric','Dtelectric','totalMilage',
                'totalweight','phone','total_milage','total_weight','total_travel_walk','total_distribute_walk',
                'total_travel_classic','total_distribute_classic','total_travel_electric','total_distribute_electric')

# Total Milage and Weight by Electric
    def get_total_milage(self, obj):
        totalpieces = Muser.objects.all().aggregate(total_milage=Sum('totalMilage'))
        return totalpieces["total_milage"]
    def get_total_weight(self, obj):
        totalprice = Muser.objects.all().aggregate(total_weight=Sum('totalweight'))
        return totalprice["total_weight"]

# Total Travel and distributed by Walk
    def get_total_travel_walk(self, obj):
        totalprice = Muser.objects.all().aggregate(total_travel_walk=Sum('trwalk'))
        return totalprice["total_travel_walk"]
    def get_total_distribute_walk(self, obj):
        totalprice = Muser.objects.all().aggregate(total_distribute_walk=Sum('Dtwalk'))
        return totalprice["total_distribute_walk"]

# Total Travel and distributed by Classic Bike
    def get_total_travel_classic(self, obj):
        totalprice = Muser.objects.all().aggregate(total_travel_classic=Sum('trclassic'))
        return totalprice["total_travel_classic"]
    def get_total_distribute_classic(self, obj):
        totalprice = Muser.objects.all().aggregate(total_distribute_classic=Sum('Dtclassic'))
        return totalprice["total_distribute_classic"]

# Total Travel and distributed by Electric Bike
    def get_total_travel_electric(self, obj):
        totalprice = Muser.objects.all().aggregate(total_travel_electric=Sum('trelectric'))
        return totalprice["total_travel_electric"]
    def get_total_distribute_electric(self, obj):
        totalprice = Muser.objects.all().aggregate(total_distribute_electric=Sum('Dtelectric'))
        return totalprice["total_distribute_electric"]

那么,我可以在这里做些什么,让我得到像这样的json数据,而不是在每个数据中 谢谢


Tags: selfobjgetobjectsdeftotalwalkdistribute