计算聚合查询集的总和

0 投票
2 回答
1027 浏览
提问于 2025-04-17 03:22

我有一个查询结果,它返回了一些金融机构的列表,还有我在每个机构投资的总金额。

views.py

total_list = plan.investment_set.filter(maturity_date__gte= '%s-1-1' % current_year).values('financial_institution__abbr').annotate(Sum('maturity_amount'))

现在我想做的是找出所有这些钱的总和。我的问题是,我该怎么计算这些投资的总额呢?

2 个回答

0

抱歉给你带来了麻烦。你计算的这个成熟金额的字段叫做 value 吗?如果是的话,你可以试试这个,之前你提问时用过的方法(使用 Django 来总结报告):

grand_total = plan.investment_set.annotate(Sum('value'))
1

我觉得你在找的是 .aggregate() 这个功能:

total_list = plan.investment_set.filter(
    maturity_date__gte= '%s-1-1' % current_year
).aggregate(Sum('maturity_amount'))

使用这个功能后,你应该能得到:

{'maturity_amount__sum': <total amount>}

撰写回答