Django查询集SUM正值和负值

2024-02-02

我有一个模型整数字段称为阈值。 我需要得到总计SUM阈值,无论负值如何。

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

什么是更快更妥当的方法呢?


use abs https://docs.djangoproject.com/en/3.0/ref/models/database-functions/#absDjango 中的函数

from django.db.models.functions import Abs
from django.db.models import Sum
<YourModel>.objects.aggregate(s=Sum(Abs("vote_threshold")))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django查询集SUM正值和负值 的相关文章

随机推荐