【问题标题】:possible to call other model through foreign key in templates? django可以通过模板中的外键调用其他模型吗? django
【发布时间】:2018-01-10 06:17:34
【问题描述】:

假设我有两个模型

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 来查找每个t 有多少S 并提取S 的信息

这可能吗?

【问题讨论】:

    标签: python django templates model


    【解决方案1】:

    您可以通过 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 %}
    

    【讨论】:

      猜你喜欢
      • 2016-06-18
      • 1970-01-01
      • 2013-09-29
      • 2014-11-06
      • 1970-01-01
      • 2019-08-27
      • 2020-09-29
      • 1970-01-01
      • 2015-06-04
      相关资源
      最近更新 更多