假设你有一个模型YourModel,其中包含两个字段category和value。现在,你想要在每个category的所有条目上生成聚合结果。
from django.db.models import Count, Sum
# 在QuerySet的每个category上生成计数和总和
result = YourModel.objects.values('category').annotate(
count=Count('id'),
sum_value=Sum('value')
)
在上述示例中,values('category')指定了你要对其进行分组的字段,然后使用annotate()为每个分组生成聚合结果。count=Count('id')生成了每个category的数量,而sum_value=Sum('value')生成了每个category中value字段的总和。
这样的查询将为每个category生成一个包含计数和总和的结果。你可以根据需要添加其他聚合函数或调整字段,以满足你的具体需求。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7151/Django