模板中的 Django object_name 渲染
Posted
技术标签:
【中文标题】模板中的 Django object_name 渲染【英文标题】:Django object_name rendering in template 【发布时间】:2016-07-10 10:31:53 【问题描述】:我看过一个关于此的 SO 帖子,但似乎找不到。
我的结果在我的模板中呈现,其中 object_name 为
'sessions__sum': 29649
而不仅仅是
29649
.
我怎样才能只显示总和?谢谢你。
更新
我意识到,由于缺乏知识,我可能没有正确地提出我的问题,所以下面是我的视图和我的模板的屏幕截图,在浏览器中呈现。希望这将有助于解决问题。
查看
year_weekly_filter.filter(created__week_day=1).aggregate(Sum('sessions'))
monday2014 = year_weekly_filter.filter(created__week_day=2).aggregate(Sum('sessions'))
模板
monday2014
ScreenShot - 它在浏览器中的呈现方式
【问题讨论】:
如果您要投反对票,那么您应该提供一些专业且有用的反馈。如果不是我,至少对于可能看到这篇文章的其他用户来说。 【参考方案1】:您的意思是模板中的object
是由字典对象呈现的吗?
在这种情况下,以这种方式访问密钥。
object.sessions__sum
您可以通过this 获得帮助,相关文档为here。
我没有足够的积分来添加评论,所以我在这里留下我的猜测。
【讨论】:
【参考方案2】:您应该注意:“aggregate() 是 QuerySet 的终止子句,当调用它时,返回名称-值对的字典。” - Django 文档 如果您只想将单个值返回给变量而不是字典,请像这样使用 .get:
monday2014 = year_weekly_filter.filter(created__week_day=2).aggregate(Sum('sessions')).get('sessions__sum',0)
【讨论】:
我已经敲了一天的脑袋想弄明白……只是不知道怎么问这个问题。谢谢!!! 没问题!我最近在自己的工作中遇到了这个问题,并对此感到困惑,返回一个用于在单个查询中创建多个聚合的 dict 是有意义的。以上是关于模板中的 Django object_name 渲染的主要内容,如果未能解决你的问题,请参考以下文章
Django Rest Framework-----序列化详解(serializers)