【发布时间】:2018-02-18 20:59:27
【问题描述】:
我只想将对象的一部分发送到模板。
我有 2 个模型,如下所示:
class Person(models.Model):
name = models.CharField(max_legth=50)
sure_name = models.CharFiled(max_length=50)
class Office(models.Model):
location = models.CharField(max_legth=50)
我还创建了如下模型:
class PersonOffice(models.Model):
person = models.ForeignKey(Person)
office = models.ForeignKey(Office)
现在,当我通过PersonOffice.objects.all()从数据库中获取数据时,数据如下:
{
{
"pk": 0,
"person": {
"pk":0,
"name":"Harry",
"sure_name":"Potter"
},
"office":{
"pk":5,
"location":"Toronto"
}
},
{
"pk": 1,
"person": {
"pk":6,
"name":"John",
"sure_name":"Kelly"
},
"office":{
"pk":6,
"location":"NewYork"
}
}
}
我想通过render 函数将办公室发送到模板。我该怎么做?
谢谢
更新
我想在带有{% for %} 循环的模板中使用它。例如:
{% for office in Offices %}
<p>Office location: {{ office.location }}</p>
{% endfor %}
我使用了以下代码:
offices = PersonOffice.objects.all().values('office')
print(offices)
以下是终端中的结果:
<QuerySet [{'office': 1}, {'office': 2}, {'office': 11}]>
【问题讨论】:
-
您可以发布您的views.py 文件以显示您当前的渲染位置吗?
-
你似乎在发送到模板之前序列化你的对象,不知道为什么
-
没有。我不序列化它们。只是为了在此处显示的一种好方法,我将它们显示为 json 格式。
标签: django django-models django-templates django-views django-orm