0

我正在创建一个程序来列出所选参与的所有主要位置。我有两个模型:Engagement 和 MainLocation。参与度是 MainLocation 模型中的外键。主要位置模型如下所示:

class MainLocation(models.Model):
    loc_name = models.CharField(max_length=256)
    engagement = models.ForeignKey(Engagement,related_name='main_location', on_delete="Cascade")

要查看各个参与中的所有主要位置,我在我的 HTML 中有这个:

Main Locations for {{engagement.engagement_name}}
    <ul>
      {% for location in engagement.main_location.all %}
        <li>{{mainlocation.loc_name}} </li>
      {% endfor %}
    </ul>

这将为我提供正确的订婚名称,并在无序列表中为我提供正确数量的位置。所以我知道它正在计算正确的位置数量。我很困惑为什么没有显示每个位置的名称。我也试过:

{{engagement.main_location.loc_name}}
{{engagement.main_location.id}}

我在语法中遗漏了什么吗?任何帮助,将不胜感激。

4

1 回答 1

0

发现问题。所以显然在 Django 中使用 DetailView 时,您必须将模块名称放在 for 循环中。这将使您可以访问该模块。

像这样:

Main Locations for {{engagement.engagement_name}}
    <ul>
      {% for mainlocation in engagement.main_location.all %}
        <li>{{mainlocation.loc_name}} </li>
      {% endfor %}
    </ul>
于 2018-08-16T17:40:05.693 回答