2017-04-19 98 views
0

Django 1.10,python 3.5Django模板 - 如果項目==從模型對象返回字段

大家好!

我有一個模型,在models.py稱爲「Building_type」:

class Building_type(models.Model): 
    buildingType = models.CharField(max_length=40) 
    def __str__(self): 
     return self.buildingType 

,併發送到Django的HTML模板,所謂的「buildingList」建築的名單,看起來像這樣:

[ 
{'name': 'building1', 'type': <Building_type: Blacksmith>}, 
{'name': 'building2', 'type': <Building_type: Inn>}, 
{'name': 'building3', 'type': <Building_type: Chemist>}, 
] 

我想做到這一點:

{% for building in buildingList %} 
    {% if building.type == "Inn" %} 
     <p> this is an Inn </p> 
    {% endif %} 
{% endfor %} 

但是IF語句無法完成這是真的。 我曾嘗試以下,都失敗了:

{% if building.type == building.type.Inn %} 
{% if building.type == Inn %} 
{% if building.type == "Inn" %} 

如果有幫助,下面正確返回 「鐵匠」, 「客棧」 和 「化學家」,以HTML:

{% for building in buildingList %} 
    {% if building.type %} 
     {{building.type}} 
    {% endif %} 
{% endfor %} 

非常感謝,如果你們都可以幫助

回答

2

如果我正確地關注這個不應該這項工作?

{% if building.type.buildingType == "Inn" %}

作爲類型是Building_type模型又具有buildingType的訪問,從而也就是type.buildingType

+0

爲了確認,此工作完美的字段的一個實例。 – penuts

+0

非常高興它的工作,如果可以的話,請接受答案。 – davidejones