你如何否定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'))
一元运算符-
似乎不支持的,但是二元运算符的作品。
一个非常聪明的答案!但是,我对我提出的答案做了一些时间测量,发现在我的应用程序中比您的应用程序更快。不过,我非常感谢你的帮助。 – Bobort