你能对 Django 查询集中的聚合值做额外的数学运算吗?



我试图避免重复聚合我已经计算过的值。 我已经得到了年度总数,但我也想要一个季度总数

什么会起作用:

django.db.models import Value
props_obj = PropertiesUsers.objects
.aggregate(returns_coc_a=Sum(F('subscribe_amount')
* (F('deal_coc') / Value(100))),
returns_coc_q=Sum(F('subscribe_amount')
* (F('deal_coc') / Value(100))) / Value(4))

我想找出我是否可以/如何做(重复使用年度金额(:

props_obj = PropertiesUsers.objects
.aggregate(returns_coc_a=Sum(F('subscribe_amount')
* (F('deal_coc') / Value(100))),
returns_coc_q=returns_coc_a / Value(4))

为什么不将年度聚合分配给变量并重用它? 像这样:

django.db.models import F, Sum, Value
annual = Sum(F('subscribe_amount') * (F('deal_coc') / Value(100)))
quaterly = annual / Value(4)
props_obj = PropertiesUsers.objects
.aggregate(returns_coc_a=annual,
returns_coc_q=quaterly)

最新更新