可以通过模板中的外键调用其他模型吗? Django的

时间:2017-08-02 20:46:53

标签: python django templates model

让我们说我有两个模特

class T(models.Model):
    name = model.Charfield(max_length=12)

class S(models.Model):
    tt = model.ForeignKey(T)
    boo = model.Boolean(default=False)

当我使用这个... t_objs= T.objects.all()然后在我的模板中我知道我可以循环使用

{% for t in t_objs %}
    {{t.name}}

等等......但是,如果我想知道有多少我可以使用t_objs来查找每个S有多少t,并提取{的信息怎么办? {1}}

这可能吗?

1 个答案:

答案 0 :(得分:0)

你可以使用"后向关系"通过做t.s_set.all():

之类的事情在S和T之间

https://docs.djangoproject.com/en/dev/topics/db/queries/#following-relationships-backward

这也可以从模板访问:

{% for t in t_objs %}
    {{t.name}}
    {% for s in t.s_set.all %}
      {{ s.boo }}
    {% endfor %}
    <p>The total count of S for this T is {{ t.s_set|length }}</p>
{% endfor %}