我正在使用Django开发,我正在寻找一个可以以某种方式执行此操作的查询集:一个返回10000个对象的查询集,也可以计算10000个对象中每个1000个对象的平均值。
根据我的知识,我正在寻找的代码似乎是这样的:
queryset=Model.objects.annotate(part=func(get 1000 objecs), average=Avg('Values'))
我知道annotate只计算查询集中每一项的汇总值,但在我的例子中,我只需要为查询集到目前为止的每个分片部分计算汇总值。
发布于 2020-04-17 18:40:47
也许您可以使用函数来实现以下功能:
from django.db.models import Avg, RowRange, Window
queryset=Model.objects.annotate(
avg=Window(
expression=Avg('Values'),
frame=RowRange(start=-500,end=500)
)
)
https://stackoverflow.com/questions/61268509
复制相似问题