django admin app error(带属性字段的模型):未定义全局名称'full_name'

时间:2010-05-09 00:06:46

标签: python django django-models django-admin

这是我的模特:

class Author(models.Model):

    first_name = models.CharField(max_length=200)
    last_name = models.CharField(max_length=200)
    middle_name = models.CharField(max_length=200, blank=True)

    def __unicode__(self):
        return full_name

    def _get_full_name(self):
        "Returns the person's full name."
        if self.middle_name == '':
            return "%s %s" % (self.first_name, self.last_name)
        else:
            return "%s %s %s" % (self.first_name, self.middle_name, self.last_name)
    full_name = property(_get_full_name)

一切都很好,除非我进入管理界面,我看到

/ bibbase2 / admin / bibbase2 / author /上的TemplateSyntaxError 渲染时捕获异常:未定义全局名称“full_name”

内置的管理应用似乎无法使用属性字段。我的代码有问题吗?

1 个答案:

答案 0 :(得分:7)

def __unicode__(self):
        return full_name

应该是:

def __unicode__(self):
        return self.full_name