看不到扩展用户模型领域的管理界面

问题描述:

我添加了一个字段,我叫额外的用户模型,如下所示: -看不到扩展用户模型领域的管理界面

class ExtendedUser(models.Model): 
user = models.OneToOneField(User) 
extra = models.CharField(max_length=30, null=True) 

# when a user is created, make sure an ExtendedUser is created too 
def create_extended_user(sender, instance, created, *args, **kwargs): 
    if created: 
     extended_user = ExtendedUser(user=instance) 
     extended_user.save() 
post_save.connect(create_extended_user, sender=User) 

在我的admin.py,我尽量保证我可以编辑这个当我编辑用户时额外字段: -

class ExtendedUserInline(admin.TabularInline): 
    model = ExtendedUser 
    fk_name = 'user' 
    max_num = 1 

class ExtendedUserAdmin(UserAdmin): 
    inlines = [ExtendedUserInline] 

admin.site.unregister(User) 
admin.site.register(User, ExtendedUserAdmin) 

但是,我无法在用户的管理页面中看到额外的字段。

我做错了什么?

+0

nope,那也行不通。 – bodger 2013-02-25 08:20:52

+0

添加额外的逗号没有任何区别。 – bodger 2013-02-26 15:09:58

自编辑admin.py以来,您是否重新启动了开发服务器?请参阅this very similar thread

+0

是的,重新启动dev服务器 - 没有任何区别。 – bodger 2013-02-24 18:14:04

你的第一块代码对我来说看起来不错,尽管你可能想使用装饰器来提高可读性。这是一个更新的例子。

class ExtendedUser(models.Model): 
user = models.OneToOneField(User) 
extra = models.CharField(max_length=30, null=True) 

# when a user is created, make sure an ExtendedUser is created too 
@receiver(post_save, sender=User)  
def create_extended_user(sender, instance, created, *args, **kwargs): 
     if created: 
      extended_user = ExtendedUser(user=instance) 
      extended_user.save() 

更新答:

您需要设置AUTH_PROFILE_MODULE = 'app_name.ExtendedUser'

Here's a post该做的还很多和你一样。下面的一些评论值得一读。

+0

可悲的是,这是行不通的。 无论如何,UserAdmin当然是错误的类名?我使用的是ExtendedUserAdmin - 因为我扩展了通常的UserAdmin。 – bodger 2013-02-24 18:12:58

+0

你是对的。答案已删除。要试着复制你的代码。 – chirinosky 2013-02-24 18:40:54

+0

已更新的答案。希望这可以帮助。 – chirinosky 2013-02-24 18:54:34