2

ContentType フィールドを持つモデルがあります。

どのモデル メソッドでも、文字列と比較できます。

self.content_type == "construction" # True if ContentObject points to Construction model.

ただし、そのようなことはテンプレートでは機能しないようです。

最初に試したこと

{% if object.content_type == "construction" %}

そして2番目:

def __unicode__(self): 
    return str(self.content_type)
`{% if object == "construction" %}`

False ですが、{{ object }} はconstruction.

4

1 に答える 1

6

の unicode メソッドはContentType単に名前を表示するため、テンプレートに{{ object }}表示されます。construction

class ContentType(models.Model):
    ...
    def __unicode__(self):
        return self.name

ただし、文字列でobject.content_typeContentTypeなくインスタンスであるため、「構造」と比較すると常に が返されFalseます。model代わりにコンテンツ タイプを比較してみてください。

{% if object.content_type.model == "construction" %}
于 2012-04-04T13:07:48.847 に答える