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

rxi*_*xin 1 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)
Run Code Online (Sandbox Code Playgroud)

一切都很好,除非我进入管理界面,我明白了

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

看起来内置的管理应用程序不适用于属性字段.我的代码有问题吗?

Dav*_*cic 7

def __unicode__(self):
        return full_name
Run Code Online (Sandbox Code Playgroud)

应该:

def __unicode__(self):
        return self.full_name
Run Code Online (Sandbox Code Playgroud)