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 }}


{{ object.unicode() }}


{{ object.__unicode__ }}


{{ 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" % 

{{ object.get_id|escape }}

Best Solution

{{ object }}

Will automatically return the value of __unicode__ for any object.