我有一个包含ContentType字段的模型。
在任何模型方法中,我都可以将它与字符串进行比较:
self.content_type == "construction" # True if ContentObject points to Construction model.
然而,这样的事情似乎在模板中不起作用。
我尝试的第一件事
{% if object.content_type == "construction" %}
第二名:
def __unicode__(self):
return str(self.content_type)
`{% if object == "construction" %}`
并且它为假,但{{object}}打印construction
。
答案 0 :(得分:4)
ContentType
的unicode方法只显示名称,这就是{{ object }}
在模板中显示construction
的原因。
class ContentType(models.Model):
...
def __unicode__(self):
return self.name
但是,object.content_type
是ContentType
实例,而不是字符串,因此将其与“构造”进行比较将始终返回False
。请尝试比较内容类型model
。
{% if object.content_type.model == "construction" %}