你如何否定django中的注释字段?

问题描述:

我有一个注释的查询集,其中我注释了数字的总和。但是,我希望结果是这个数字的负数。我似乎无法做到这一点是这样的:你如何否定django中的注释字段?

Model.objects.all().annotate(total=-Sum('qty'))

˚F对象,当然!

Model.objects.all().annotate(total=Sum(F('qty')*-1))

我知道这听起来很疯狂,但试试这个:

Model.objects.all().annotate(total=0-Sum('qty')) 

一元运算符-似乎不支持的,但是二元运算符的作品。

+0

一个非常聪明的答案!但是,我对我提出的答案做了一些时间测量,发现在我的应用程序中比您的应用程序更快。不过,我非常感谢你的帮助。 – Bobort