对于外键关系和相关名称,我有两个模型。我返回Foo
的查询集,并希望呈现相关对象Bar
的字段。然而,item.link.value
不渲染任何东西。
# Models
class Foo(models.Model):
item
class Bar(models.Model:
foo = models.Foreignkey(Foo, on_delete=models.CASCADE, related_name='link')
value = models.Charfield(max_length=20)
# View
def test(request):
qs = Foo.objects.all()
context = {
'qs': qs
}
return render (request, 'somepage.html', context)
# Template
{% for item in qs %}
<div> {{ item.link.value }} </div>
尝试更改您的查询集以返回具有value
属性的Bar
实例。
首先将Bar
模型上的相关名称更新为复数形式,links
:
# Models
class Foo(models.Model):
item
class Bar(models.Model:
foo = models.Foreignkey(Foo, on_delete=models.CASCADE, related_name='links')
value = models.Charfield(max_length=20)
如果你现在请求Foo.links.all()
, Django将返回一个Bar
实例的查询集。
# View
def test(request):
qs = Foo.links.all()
context = {
'qs': qs
}
return render (request, 'somepage.html', context)