Django queryset SUM正值和负值 [英] Django queryset SUM positive and negative values
本文介绍了Django queryset SUM正值和负值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个以 IntegerField 命名为阈值的模型.无论是否为负值,我都需要获取阈值的总计 SUM .
I have a model which have IntegerField named as threshold. I need to get total SUM of threshold value regardless of negative values.
vote_threshold
100
-200
-5
result = 305
现在我正在这样做.
earning = 0
result = Vote.objects.all().values('vote_threshold')
for v in result:
if v.vote_threshold > 0:
earning += v.vote_threshold
else:
earning -= v.vote_threshold
什么是更快更合适的方法?
What is a faster and more proper way?
推荐答案
use abs function in django
from django.db.models.functions import Abs
from django.db.models import Sum
<YourModel>.objects.aggregate(s=Sum(Abs("vote_threshold")))
这篇关于Django queryset SUM正值和负值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文