Class A(models.Model)
a = models.Decimal()
b = models.Decimal()
如何求 Sum ( a * b)呢,
尝试 A.objects.aggregate(Sum('a * b')) 不允许这样用似乎
1
Wien 2015-12-11 12:03:26 +08:00 1
A.objects.all().aggregate(ab_sum=Sum(F('a') * F('b'), output_field=FloatField()))
遇事不决看文档:) https://docs.djangoproject.com/en/1.8/topics/db/aggregation/ |
2
tinypig OP @Wien 感谢,看来还是对文档理解不太好,之前过 Aggregation 相关的内容,但是没发现这个用法。
顺便问一下,如果想加入判断的话,应该怎么才做呢。 比如 if b>50, b =50, Sum(a*b) |
3
yuankui 2015-12-11 14:58:47 +08:00
这就是 ORM 不方便的地方吧..
|