django模型场的计算和

时间:2017-10-12 10:25:00

标签: python django django-models

class Transaction:
    amount = models.FloatField()

现在我计算金额之和

transactions = Transaction.objects.all()
amount = 0
for transaction in transactions:
    balance = transaction.amount
    amount += balance

我知道这是通过使用agreegate来计算的。但这可能通过这种方式或其他方式实现吗?

2 个答案:

答案 0 :(得分:3)

ModelName.objects.aggregate(Sum('field_name'))

以下是doc

答案 1 :(得分:0)

不确定为什么不使用聚合,如果你想迭代你可以尝试

transactions = Transaction.objects.values_list('amount', flat=True)
amount = sum(list(transactions))