2010-09-17 46 views
0

我连着用户配置类用户这种方式显示用户名:Django的如何在他的管理控制台配置文件

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

如果需要这样,我也实施了用户配置的自动创建:

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对象。我认为如果我可以将标题设置为相应的用户名称,例如约翰,肯尼等 我该怎么做?

回答

4

定义__unicode__方法为用户配置类:

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

或self.user.username如果你喜欢 – 2010-09-17 07:51:36

+0

+1。这是做到这一点的方法。 – 2010-09-17 08:06:49

+0

作品刚刚完美。谢谢! – 2010-09-17 08:15:29