首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用注释来总结所有行并得到avg?姜戈

如何使用注释来总结所有行并得到avg?姜戈
EN

Stack Overflow用户
提问于 2018-08-02 17:35:23
回答 1查看 63关注 0票数 0

我在谷歌上搜索了一下,有一种更简单的使用Cast的方法,但问题是,我相信对于django 2.0来说,我的是django 1.9

我找到了一篇文章,我试过了,虽然它对我不太管用。

假设我有一个带有valuemax字段的模型。我想得到所有valuemax的和,然后除以它们得到平均值。我所做的只是得到一行并返回行的avg,有人能让我知道我在这里做错了什么吗?

代码语言:javascript
复制
model_calcuation = Model.objects.filter().annotate(
    sum_score=Sum('value', output_field=FloatField()),
    sum_max=Sum('max', output_field=FloatField())
).annotate(
    avg=F('sum_score') / F('sum_max')
)

提前感谢您的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-02 18:01:12

如果我正确理解了您的问题,您正在寻找aggregate()操作。

代码语言:javascript
复制
from django.db.models import F, Sum

model_calcuation = Model.objects.aggregate(result=Sum(F('value')) / Sum(F('max')))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51659321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档