Django __unicode__扩展了Auth_User模型

时间:2013-04-17 12:38:04

标签: django django-models django-admin django-users

我正在扩展auth.models.User,但我遇到了实施__unicode__方法的麻烦。

from django.db import models
from django.contrib.auth.models import User

class Artist(models.Model):
    user = models.OneToOneField(User)
    city = models.CharField(max_length=30)
    bio = models.CharField(max_length=500)

现在我如何访问user字段,因为我想返回Django Admin的名称。

1 个答案:

答案 0 :(得分:2)

class Artist(models.Model):
    # fields

    def __unicode__(self):
        return "{first_name} {last_name}".format(
            **dict(
                first_name=self.user.first_name,
                last_name=self.user.last_name
            )
        )

虽然User已经具有连接名称字段的功能,但这也可以使用:

def __unicode__(self):
    return "{0}".format(self.user.get_full_name())

甚至

def __unicode__(self):
    return self.user.get_full_name()