相关疑难解决方法(0)

如何在Django中计算聚合的平均值

如果我有一个汇总,是否可以在查询中获得平均值,而无需在python内存中进行计算?

from django.db.models import F, Sum, FloatField, Avg
Model.objects.filter(...)\
    .values('id')\
    .annotate(subtotal=Sum(...math here...), output_field=FloatField())\
    .annotate(total=Avg(F('subtotal'))) #this line throws a FieldError
Run Code Online (Sandbox Code Playgroud)

有什么方法可以获取查询Avg中的subtotal值?这给了我一个错误,不允许我在Avg聚合(“ subtotal”)上进行计算,但是.values('id')由于.annotate(...math here...)内部的操作不是分布式的Model对象,所以无法替换分组。

django django-queryset

3
推荐指数
1
解决办法
2961
查看次数

标签 统计

django ×1

django-queryset ×1