gpt4 book ai didi

django - 聚合具有相同字段值的查询项

转载 作者:行者123 更新时间:2023-12-02 19:48:19 24 4
gpt4 key购买 nike

我的一个查询集返回包含多个字段的项目列表:

<QuerySet [{'name': 'John', 'products': 4}, {'name': 'John', 'products': 6}, {'name': 'Sam', 'products': 7}, ...]>

如何聚合此数据以获得具有相同 name 字段的元素的 products 值的组合 Sum() 以避免重复查询集,所以结果我会得到这样的结果:

<QuerySet [{'name': 'John', 'products': 10}, {'name': 'Sam', 'products': 7}, ...]>

我知道这应该使用 .annotate().aggregate() 查询来完成,但我不知道如何完成。

最佳答案

您可以使用以下方式构建这样的查询集:

from django.db.models import Sum

Model.objects.values('name').annotate(
<b>sum_products=Sum('products')</b>
).order_by(<b>'name'</b>)

.order_by(..) 是强制 Django 使用 GROUP BY 子句所必需的。

关于django - 聚合具有相同字段值的查询项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58805626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com