FK值的模板条件

时间:2017-03-17 08:12:50

标签: django django-templates

我有两个模型,项目质量商品有一个名为 quality 的字段,它是质量名称的FK。这两个表看起来像这样:

Item
-----
itemId int PK
name varchar
quality varchar FK - Quality.name

Quality
-----
qualityId int PK
name varchar

我正在尝试制作一个列出具有一定质量的所有的模板。这是我的问题代码:

{% for Item in items %}
   {% if Item.quality == "Common" %}
      <div id="name_{{ Item.id }}" class="itemName">{{ Item.name }}</div>
   {% endif %}
{% endfor %}

我知道我的表包含至少一个质量=“Common”的元组,但我没有得到任何输出。

如果我尝试调整任何其他字段,那么它可以正常工作(例如:if Item.name == "exampleName")。

如何对FK中的值使用if语句?

1 个答案:

答案 0 :(得分:3)

quality是相关对象,即质量实例。如果要根据名称进行比较,则必须使用实例的该属性。

(另外,请使用适当的案例;实例不应使用大写字母。)

{% for item in items %}
   {% if item.quality.name == "Common" %}
      <div id="name_{{ item.id }}" class="itemName">{{ item.name }}</div>
   {% endif %}
{% endfor %}