【问题标题】:How append sum of instances within a django queryset to that queryset?如何将 django 查询集中的实例总和附加到该查询集中?
【发布时间】:2019-11-11 22:09:28
【问题描述】:

我有一个 Django Queryset 对象,看起来像这样(它是派生的查询集,而不是模型的查询集):

<QuerySet [{'A': 2, 'B':3, 'C':0 }, {'A': 1, 'B':2, 'C':1 }]> 

如何将包含查询集中实例总和的新实例附加到该查询集中?也就是说,我需要创建一个新的(或相同的)查询集,如下所示:

<QuerySet [{'A':2, 'B':3, 'C':0 }, {'A':1, 'B':2, 'C':1 },
{'A':3, 'B':5, 'C':1 }]> 

【问题讨论】:

    标签: python django django-queryset


    【解决方案1】:

    我认为你做不到。但是如果你使用aggregate,那么你将能够得到ABC的总和,如下所示:

    >> result = YourModel.objects.aggregate(A=Sum('A'), B=Sum('B'), C=Sum('C'))
    >> print(result)
    

    【讨论】:

    • 感谢您的回复。如果我不知道查询集的确切结构(但它们具有相同的结构),我应该如何使用您的代码?查询集通过一个过程派生,它们并不总是具有“A”、“B”和“C”字段。
    猜你喜欢
    • 1970-01-01
    • 2019-07-02
    • 2012-04-17
    • 2020-09-28
    • 2015-06-17
    • 2019-06-08
    • 2012-01-01
    • 2019-01-11
    • 1970-01-01
    相关资源
    最近更新 更多