所以在docs中有以下注释示例:
Book.objects.annotate(Count('authors'))
然后允许您根据作者的数量进行排序等有趣的事情。我想做以下事情:
Example.objects.annotate(value=sum('column1','column2','column5'))
现在当然这不起作用,但它显示了我想要的:添加value
,它是第一,第二和第五列中一行中数字的sum
如何根据每行中的多个列值进行注释?
答案 0 :(得分:1)
以下是使用extra
:
Example.objects.extra(select={'value': 'column1 + column2 + column3'})
要过滤,我相信您需要使用重复数学的where
子句:
Example.objects.extra(select={'value': 'column1 + column2 + column3'},
where=['(column1 + column2 + column3) >= %s'],
params=[100])
或者任何合适的逻辑。