我需要获得两列的聚合值。所以首先将它们组合在一起,然后得到它们的 sum()
.下面的代码自然行不通,只是为了澄清。
它以某种方式可能还是应该使用原始 SQL?
SomeModel.objects
.filter(**something)
.aggregate(Sum('one_column' * 'another_col'))
最佳答案
使用 extra() 不需要那么多原始 SQL .
obj = SomeModel.objects.filter(**something).extra(
select = {'total': 'SUM(one_column * another_column)'},
)
关于Django:获取两个相乘列的聚合值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1875153/