gpt4 book ai didi

python - Django 聚合 : Summation of Multiplication of two fields

转载 作者:IT老高 更新时间:2023-10-28 20:34:37 25 4
gpt4 key购买 nike

我有一个类似这样的模型:

class Task(models.Model):
progress = models.PositiveIntegerField()
estimated_days = models.PositiveIntegerField()

现在我想在数据库级别进行计算Sum(progress *estimated_days)。使用 Django Aggregation 我可以得到每个字段的总和,但不能得到字段乘法的总和。

最佳答案

使用 Django 1.8 及更高版本,您现在可以将表达式传递给聚合:

 from django.db.models import F

Task.objects.aggregate(total=Sum(F('progress') * F('estimated_days')))['total']

常量也可以,一切都可以组合:

 from django.db.models import Value

Task.objects.aggregate(total=Sum('progress') / Value(10))['total']

关于python - Django 聚合 : Summation of Multiplication of two fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12165636/

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