Thomas Kremmel
Thomas Kremmel

Reputation: 14783

django __unicode__() - how can i call this method in a template

I defined a unicode() method in my Contact model.

def __unicode__(self):
        return u'%s %s' % (self.first_name, self.last_name)

Now I want to show the return value of the unicode() method in a template.

But all that i try fails.

{{ object.unicode }}

or

{{ object.unicode() }}

or

{{ object.__unicode__ }}

or

{{ object.str }}

That confuses me since I have another Model level function which can be referenced to from the template without problems.

This works fine:

def get_id(self):
        return "%i" % self.id 

{{ object.get_id|escape }}

Upvotes: 6

Views: 5186

Answers (1)

Ignacio Vazquez-Abrams
Ignacio Vazquez-Abrams

Reputation: 799044

{{ object }}

Will automatically return the value of __unicode__ for any object.

Upvotes: 14

Related Questions