gpt4 book ai didi

python - 如何使用 Django 条件聚合仅对正值求和?

转载 作者:行者123 更新时间:2023-11-28 20:40:03 28 4
gpt4 key购买 nike

我有一个看起来像这样的表:

class MeasureValue(models.Model):
cost_saving_10th = models.FloatField(null=True, blank=True)

我知道如何得到所有值的总和:

mvs.aggregate(Sum('cost_saving')).values()[0]

但是我如何得到所有值的总和呢?我想我需要一个条件聚合,但我不确定该怎么做。

最佳答案

您可以使用 Django Conditional Expressions :

from django.db.models import Sum, F, Case, When

MeasureValue.objects.all().aggregate(positive_sum_cost_saving_10th=Sum(Case(When(cost_saving_10th__gt=0, then=F('warranty')), default=0)))

{'positive_sum_cost_saving_10th': ... }

如果您不想过滤 QuerySet 以便通过其他一些字段进行聚合,这将特别有用。

关于python - 如何使用 Django 条件聚合仅对正值求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36573640/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com