django模板中相关字段名称的使用
我有如下两种型号:django模板中相关字段名称的使用,django,django-templates,foreign-key-relationship,Django,Django Templates,Foreign Key Relationship,我有如下两种型号: class A(models.Model): a = models.BooleanField(default=False) q = models.BooleanField(default=False) class B(models.Model): c = models.Foreignkey('A', related_name='bb') d = models.BooleanField(default=False) e = models
class A(models.Model):
a = models.BooleanField(default=False)
q = models.BooleanField(default=False)
class B(models.Model):
c = models.Foreignkey('A', related_name='bb')
d = models.BooleanField(default=False)
e = models.BooleanField(default=False)
以下是我的看法:
class Myview(ListView):
model = A
template_name = 'admin/layer.html'
def get_context_data(self, *args, **kwargs):
context = super(ListView, self).get_context_data(*args, **kwargs)
context['mylist'] = A.objects.filter(bb__e=False)
return context
除了在我的模板“admin/layer.html”中,其他一切都正常工作。我正在尝试以下操作:
{% for list in mylist %}
{{ list.bb.d }}
{% endfor %}
但是我没有得到
{{list.bb.d}}
的任何值,我可以在django模板中以这种方式使用相关字段名吗?注意,list.bb
只会给您。这里,A
的一个实例可以与B
的多个实例相关
因此,要获得所有这些,您需要使用以下语法:
{% for a_obj in mylist %}
{% for b_obj in a_obj.bb.all %}
{{ b_obj }}
{% endfor %}
{% endfor %}
提供更多详情:
通过在ForeignKey
定义中设置related\u name
参数,可以覆盖FOO\u集
名称。例如,如果条目
模型更改为blog=ForeignKey(blog,on_delete=models.CASCADE,related_name='entries')
,则上述示例代码如下所示:
>>> b = Blog.objects.get(id=1)
>>> b.entries.all() # Returns all Entry objects related to Blog.
请注意,
list.bb
只会给您。这里,A
的一个实例可以与B
的多个实例相关
因此,要获得所有这些,您需要使用以下语法:
{% for a_obj in mylist %}
{% for b_obj in a_obj.bb.all %}
{{ b_obj }}
{% endfor %}
{% endfor %}
提供更多详情:
通过在ForeignKey
定义中设置related\u name
参数,可以覆盖FOO\u集
名称。例如,如果条目
模型更改为blog=ForeignKey(blog,on_delete=models.CASCADE,related_name='entries')
,则上述示例代码如下所示:
>>> b = Blog.objects.get(id=1)
>>> b.entries.all() # Returns all Entry objects related to Blog.
或者,如果只有一个
B
对象链接到a
,您应该切换到使用OneToOneField
。我想是这样@solarismokemokethance@AKS。也许我知道了。@cjahangi很高兴能帮上忙。大家好,我已经编辑了我的帖子。我在模型B中添加了额外的字段,还更改了上下文查询集。现在是什么情况?或者,如果只有一个B
对象链接到a
,您应该切换到使用OneToOneField
。我想是这样@solarismokefork@AKS。也许我知道了。@cjahangi很高兴能帮上忙。大家好,我已经编辑了我的帖子。我在模型B中添加了额外的字段,还更改了上下文查询集。现在是什么情况?