Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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 }}
like image 229
Thomas Kremmel Avatar asked Dec 30 '09 15:12

Thomas Kremmel


1 Answers

{{ object }}

Will automatically return the value of __unicode__ for any object.

like image 105
Ignacio Vazquez-Abrams Avatar answered Sep 20 '22 17:09

Ignacio Vazquez-Abrams