python - 按日期视图过滤的 Django 对象总和
问题描述
我想通过使用通用日期视图获得我获得的项目总和。
示例视图.py
class OrderDayArchiveView(LoginRequiredMixin, generic.dates.DayArchiveView):
queryset = Order.objects.all()
date_field = 'date_ordered'
template_name = 'ordersys/manager/archive_page.html'
示例模板:
{% for order in object_list %}
<li class="bg-light">
{{ order.id }}: {{order.print_ordered_items_products_amounts}} (${{order.create_cost}})
</li>
{% endfor %}
urls.py 中的示例路径:
path('<int:year>/<int:month>/<int:day>/', views.OrderDayArchiveView.as_view(month_format='%m'), name="archive_day"),
我想获取发送到模板的所有“order.create_cost”的总和,是否可以在此视图中获取过滤的查询集?如果没有,我如何在模板中总结它。
解决方案
您可以简单地覆盖get_context_data
并在那里添加您的聚合:
from django.db.models import Sum
class OrderDayArchiveView(LoginRequiredMixin, generic.dates.DayArchiveView):
queryset = Order.objects.all()
date_field = 'date_ordered'
template_name = 'ordersys/manager/archive_page.html'
def get_context_data(self, *, object_list=None, **kwargs):
context = super().get_context_data(object_list=object_list, **kwargs)
queryset = context['object_list']
sum_create_cost = queryset.aggregate(Sum('create_cost'))['create_cost__sum']
context['sum_create_cost'] = sum_create_cost
return context
推荐阅读
- python - 在具有重复键的字典(带有值数组)中查找值
- java - rabbitmq的奇怪消息正文字节大小
- sequelize.js - 如何在数据插入期间正确定义 Sequelize 关联
- java - ClusterHealthResponse 未返回 Elastic Search 6.8 中的所有索引
- excel - VBA Excel在循环创建的最后一行之外添加值和公式
- reactjs - AntDesign TimePicker 作为 Material UI 中的输入组件
- shell - jenkins groovy shell curl命令不起作用
- r - 如何用一系列数字替换字符特定部分中的值
- excel - VBA删除范围内特定工作表内的所有空格
- python - python webscraping结果块