繁体   English   中英

用户自定义扩展AbstractUser不会出现在“身份验证”管理面板中

[英]User custom extend AbstractUser does not appear in 'Authentication' admin panel

我知道这个问题在堆栈上很常见,并且我已经尝试了许多类似这样的答案,并且更像是

因此,我的目标是扩展User以添加一些自定义字段。

在models.py中,我添加了以下内容

class MyUser(AbstractUser):
   bio = models.TextField(max_length=500, blank=True)
   location = models.CharField(max_length=30, blank=True)
   birth_date = models.DateField(null=True, blank=True)

   def __str__(self): # __str__ for Python 3, __unicode__ for Python 2
      return self.name

   class Meta:
      app_label = 'app_name'

在admin.py中,我添加了以下内容:

class CustomUserAdmin(UserAdmin):
   model = MyUser
   filter_horizontal = ('user_permissions', 'groups',)

admin.site.register(MyUser, CustomUserAdmin)

在settings.py中,我具有以下内容:

AUTH_USER_MODEL = 'app_name.MyUser'

在urls.py中:

admin.autodiscover()

请注意,我已删除所有迁移,并在完成这些更改后重新生成了它们

app_name位于settings.py中的INSTALLED_APPS中

我也曾尝试在form.py中添加如下的自定义创建和更改表单,但未成功:

class CustomUserCreationForm(UserCreationForm):
   class Meta(UserCreationForm):
       model = MyUser
       fields = '__all__'
class CustomUserChangeForm(UserChangeForm):
   class Meta:
       model = MyUser
       fields = '__all__'

要注意的是,在我的数据库中,用户模式已使用新字段更新! 数据库截图

但是问题是它没有出现在“管理面板”部分中 管理员面板截图

预先感谢您的帮助

文档建议对默认的User模型使用OneToOne关系来扩展它。 尝试关注文档,看看是否可行。
您已经从头创建了一个新的用户模型( 单击 ),但是似乎遗漏了很多必需的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM