python - 将带有对象列表的字典作为 django 中的值呈现
问题描述
我有一本新字典:
new = {'Delhi-Mumbai': [<Truckdb: Truckdb object (6)>], 'Doon-Gurgaon': [<Truckdb: Truckdb object (8)>, <Truckdb: Truckdb object (6)>]}
我无法在模板中渲染来自 TruckDb 的对象
这是我在views.py中尝试的
return render(request, 'classroom/teachers/dispatcher_output.html',{'res':new})
这是我的模板:
{% for k,v in res.items %}
<h1>v value is </h1>
{{ v.Name }}
{% endfor %}
模型.py
class Truckdb(models.Model):
Name = models.CharField(max_length=30)
Category = models.CharField(max_length=30)
Truckid = models.IntegerField(blank=True)
Length = models.FloatField(blank=True)
Breadth = models.FloatField(blank=True)
Height = models.FloatField(blank=True)
Volume = models.FloatField(blank=True)
Weight = models.FloatField(blank=True)
Price = models.FloatField(blank=True)
我无法理解我做错了什么?
编辑
如果在模板中使用它,这是我的输出:
{% for k,v in res.items %}
<h1>v value is </h1>
{{ v.Name }}
{% endfor %}
我想要的是
我希望能够像使用任何其他模型一样使用对象,并根据模型具有的其他属性获取值。像这样:
{% for k,v in res.items %}
<h1>v value is </h1>
{{ v.Name }}
{{ v.Category }}
{{ v.Truckid }}
{% endfor %}
解决方案
您必须使用两个for loops
,因为 dict 中的每个元素都是一个查询集
{% for k,v in res.items %}
{% for element in v %}
<h1>v value is </h1>
{{ element.Name }}
{% endfor %}
{% endfor %}
推荐阅读
- javascript - 如何应用锚链接,以便在滚动时在顶部留下一些空间?
- java - Spring JPA 用其他表引用一个表
- node.js - 如何将变量流式传输到文件 Node JS?
- symfony - symfony 控制台命令 113 退出代码
- django - 在删除对象模型之前添加规则的问题
- x86 - OPOS 库 v1.14 在 x64 版本的 .net 中无法正常工作
- python-3.x - 图像大小 - Python
- android - Kivy Android App - 滑动切换屏幕
- cpanel - 我们如何解决 centos 和 cpanel 的 php cli 问题?
- ios - 我们可以限制 Swift 生成的接口只能在 Xcode 中从模块访问吗?