django - 如何检查 Django 模板中是否存在多对多关系?
问题描述
在此代码示例中,“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 %}
错误的线是{% if performer.teaches_for.exists %}
. 如果至少存在一种关系,我可以用什么来代替它,如果存在至少一种关系,那么它将是 False,否则?
我的 Performer 模型中的相关字段如下所示:
teaches_for = models.ManyToManyField(
School,
verbose_name="Teaches at this school",
blank=True,
related_name="teachers",
)
解决方案
尝试{% if performer.teaches_for.all.exists %}
推荐阅读
- android - 自定义 SwipeToRefresh 移动 RecyclerView Android 嵌套滚动
- scrapy - 如何在response.css中正确定义和scrapy中的yield
- r - 使用 ggplot2 为 R 中的离散变量创建小提琴图、宇宙飞船图或类似的东西
- xaml - 嵌套在水平 StackLayout 中时,多行标签不会调整父 StackLayout 的大小
- mysql - MySQL 8.0 和 PHP 的外键约束格式不正确
- android - Android Studio - 如何从命令行使缓存无效?
- javascript - Pandas DataFrame 打印为字符串
- .net-core - 需要帮助模拟界面
- highcharts - 如何更改 HighCharts 工具顶部以显示更多详细信息
- python-3.x - 下载由 URl 在 Python 中生成的文件