Django Aggregation: Sum return value only?(Django聚合:仅求和返回值?)
问题描述
我有一个已支付价值的列表,并希望显示已支付的总金额.我使用聚合和 Sum
一起计算值.问题是,我只想打印总值,但聚合打印出: {'amount__sum': 480.0}
(480.0 是增加的总值.
I have a list of values paid and want to display the total paid. I have used aggregation and Sum
to calculate the values together. The problem is,I just want the total value printed out, but aggregation prints out: {'amount__sum': 480.0}
(480.0 being the total value added.
在我看来,我有:
from django.db.models import Sum
total_paid = Payment.objects.all.aggregate(Sum('amount'))
为了在页面上显示值,我有一个带有以下内容的 mako 模板:
And to show the value on the page, I have a mako template with the following:
<p><strong>Total Paid:</strong> ${total_paid}</p>
如何让它显示 480.0
而不是 {'amount__sum': 480.0}
?
How would I get it to show 480.0
instead of {'amount__sum': 480.0}
?
推荐答案
我不相信有办法只获得价值.
I don't believe there is a way to get only the value.
您可以在模板中执行 ${{ total_paid.amount__sum }}
.或者在你的视图中执行 total_paid = Payment.objects.all().aggregate(Sum('amount')).get('amount__sum', 0.00)
.
You could just do ${{ total_paid.amount__sum }}
in your template. Or do total_paid = Payment.objects.all().aggregate(Sum('amount')).get('amount__sum', 0.00)
in your view.
编辑
正如其他人指出的那样,.aggregate()
将始终返回一个字典,其中包含来自聚合的所有键,因此在 .get()
上执行结果是不必要的.但是,如果查询集为空,则每个聚合值将是 None
.因此,根据您的代码,如果您期望浮动,您可以这样做:
As others have pointed out, .aggregate()
will always return a dictionary with all of the keys from the aggregates present, so doing .get()
on the result is not necessary. However, if the queryset is empty, each aggregate value would be None
. So depending on your code, if you are expecting a float, you could do:
total_paid = Payment.objects.all().aggregate(Sum('amount'))['amount__sum'] 或 0.00
这篇关于Django聚合:仅求和返回值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Django聚合:仅求和返回值?


基础教程推荐
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01