在Django 4.0中,你可以在QuerySet的每个条目上生成聚合结果,这可以通过annotate()方法实现。以下是一个示例:

假设你有一个模型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