1

我有以下代码:

class Actor(models.Model):
    first_name = models.CharField('First Name', max_length=135)
    last_name = models.CharField('Last Name', max_length=135)

    class Meta:
        db_table = u'actor'

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

    def __unicode__(self):
        return str(self.actorname)

我看不出我的代码有什么问题,但在 django 管理员中它显示为Actor Object.

我究竟做错了什么?

谢谢。

4

2 回答 2

3

记住它是一个函数,所以它应该是:

class Actor(models.Model):
    first_name = models.CharField('First Name', max_length=135)
    last_name = models.CharField('Last Name', max_length=135)

    class Meta:
        db_table = u'actor'

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

    def __unicode__(self):
        return str(self.actorname())

另外,你可以这样做:

def __unicode__(self):
    return u"%s %s" % (self.first_name, self.last_name)
于 2013-02-05T20:11:40.180 回答
0

好吧,很奇怪,但这是因为actorname方法。奇怪,但删除后工作。

于 2013-02-05T20:56:52.477 回答