Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 用户自定义扩展抽象用户未出现在';认证';管理面板_Django_Python 3.x_Django Models - Fatal编程技术网

Django 用户自定义扩展抽象用户未出现在';认证';管理面板

Django 用户自定义扩展抽象用户未出现在';认证';管理面板,django,python-3.x,django-models,Django,Python 3.x,Django Models,我知道这个问题在堆栈上很常见,我已经尝试了许多答案 所以我的目标是扩展用户以添加一些自定义字段 在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=Tru

我知道这个问题在堆栈上很常见,我已经尝试了许多答案

所以我的目标是扩展用户以添加一些自定义字段

在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'
在URL.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__'
需要注意的是,在我的数据库中,用户模式是用新字段更新的!

但问题是它没有出现在管理面板部分

提前感谢您的帮助

建议使用与默认
用户
模型相关的
OneToOne
来扩展它。尝试按照文档进行操作,看看是否有效。

您从头开始创建了一个新的用户模型(),但似乎遗漏了许多必需的内容。

您是否将
app\u name
添加到
INSTALLED\u APPS
设置中?是:)我已更新了PostThank感谢您的帮助:)确实,一对一方法很有效,但它出现在管理窗格的自己部分。因此,我想扩展本机用户对象。您发布的另一个链接是扩展AbstractBaseUser,但这有点过分,因为我只想添加一些字段。所以AbstractUser扩展最合适。您是否实现了文档中描述的管理更改?他们注销默认的UserAdmin,并将其替换为一个新的UserAdmin,并将新字段作为内联字段。它仍应显示在索引中的
auth
应用程序下方的
上方。