如何检查 Django 模板中是否存在多对多关系?

Sal*_*ley 2 django django-models

在此代码示例中,“teaches_for”是将 Performer 模型与 School 模型相关联的多对多字段的名称。只有在 Performer 和 Teacher 模型之间至少存在一种关系时,我才想包含这个特定块。

这是我的非工作代码:

{% if performer.teaches_for.exists %}
<h3>{{performer.first_name}} teaches at these schools...</h3>

<ul>
    {% for school in performer.teaches_for.all %}
    <li><a href="/schools/{{school.id}}">{{ school.name }}</a></li>
    {%  endfor %}
</ul>

{% endif %}
Run Code Online (Sandbox Code Playgroud)

错的那一行是{% if performer.teaches_for.exists %}。如果至少存在一种关系,我可以用什么来替换它,如果存在,则为 True,否则为 False?

我的 Performer 模型中的相关字段如下所示:

    teaches_for = models.ManyToManyField(
        School,
        verbose_name="Teaches at this school",
        blank=True,
        related_name="teachers",
    )
Run Code Online (Sandbox Code Playgroud)

小智 5

尝试 {% if performer.teaches_for.all.exists %}