我正在扩展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的名称。
答案 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()