如何总结浮动django

时间:2016-04-07 11:36:25

标签: python django sum

我遇到了sum float的问题。我有一些小工具对象,它是按小工具过滤的,因为有两个小工具可以测量能量。 这是我的代码:

for gadget n gadget:
d={}  
 ['energy']=Gadget.objects.filter(gadget=gadget).aggregate(energy=Avg(    'energy'))['energy'] or '0.00' 

s = GadgetDay.objects.filter(gadget=gadget)
l = []
for log in s:
            l.append(log.energy)

当我打印l时,它给了我两个带浮动的列表。当我试图总结这个:     k =总和(l) 它给了我两个漂浮物。当我想将它附加到下一个列表时,它又返回了两个带有浮点数的列表。模型中的Gadget和GadgetDay是抽象类。我如何总结所有花车?

1 个答案:

答案 0 :(得分:4)

您可以使用.aggregate()使用Django的ORM,而不是在python级别进行计算。

from django.db.models import Sum

>>> Gadget.objects.filter(gadget=gadget).aggregate(total_energy=Sum('energy'))

{'total_energy': 12345.67}

上述查询会返回查询集中所有Sum()字段的energy

详细了解:aggregation queries in Django