我的模型:汇总查询和结果
class MyModel(models.Model)
a = models.PositiveIntegerField(default=0)
b = models.PositiveIntegerField(default=0)
c = models.PositiveIntegerField(default=0)
d = models.PositiveIntegerField(default=0)
我想计算SUM
在每个领域,还包括进入设置使用聚合的结果的表达式查询:
MyModel.objects.aggregate(a_s=Sum('a'),
b_s=Sum('b'),
c_s=Sum('c'),
d_s=Sum('d')).extra(select={'diff': 'a_s+b_s-c_s-d_s'})
我得到这个错误:
'dict' object has no attribute 'extra'
这是应该如何使用ORM?
聚合返回字典。在获取查询集后,你能否处理差异? – karthikr
我当然可以在获取它之后处理查询集,我只是试图在一个语句中完成它。我尝试使用'annotate'而不是'aggregate',它返回一个查询集,但仍然不知道如何去做。 – akonsu