【发布时间】:2019-11-25 10:57:56
【问题描述】:
我知道这个问题在堆栈上很常见,我已经尝试了很多答案Like this one, and more alike。
所以我的目标是扩展 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__'
提前感谢您的帮助
【问题讨论】:
-
您是否将
app_name添加到INSTALLED_APPS设置中? -
是的 :) 我已经更新了帖子
标签: django python-3.x django-models