Django如何在管理控制台的个人资料中显示用户名

时间:2010-09-17 07:44:15

标签: python django django-admin

我以这种方式将UserProfile类附加到User:

class UserProfile(models.Model):
    url = models.URLField()
    home_address = models.TextField()
    user = models.ForeignKey(User, unique=True)

如果需要,我还实现了UserProfile的自动创建:

def user_post_save(sender, instance, signal, *args, **kwargs):
    profile, new = UserProfile.objects.get_or_create(user=instance)

models.signals.post_save.connect(user_post_save, sender=User)

它工作正常,但我需要一个小功能 - 当我在管理控制台中访问用户配置文件时,我会看到现有用户的UserProfiles列表。他们的标题显示为 UserProfile对象。我认为如果我可以将标题设置为相应的用户名会很好,例如 john kenny 等。 我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

为UserProfile类定义__unicode__方法:

def __unicode__(self):
   return u"Profile for %s" % self.user.get_full_name()