我正在浏览django for beginners book,测试第8章关于Custom user model的代码。目标是通过子类化AbstractUser
模型,在auth-user模型中添加字段age
。在
首先我们在models.py
中创建CustomUser
from django.db import models
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
age = models.PositiveIntegerField(null=True, blank=True)
然后在forms.py
中创建CustomUserCreationFrom
和{
最后,admin.py
中的CustomUserAdmin
:
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .forms import CustomUserCreationFrom, CustomUserChangeFrom
from .models import CustomUser
class CustomUserAdmin(UserAdmin):
add_form = CustomUserCreationFrom
form = CustomUserChangeFrom
model = CustomUser
list_display = ['username', 'email', 'age', 'is_staff',]
admin.site.register(CustomUser, CustomUserAdmin)
当然,还要告诉django我们在settings.py
中的自定义身份验证模型:
AUTH_USER_MODEL = 'users.CustomUser'
以超级用户的身份登录,并且在尝试添加新用户时,创建表单中没有字段age
。在
我错过什么了吗?在
感谢迈克尔·赫尔曼的回答: https://testdriven.io/blog/django-custom-user-model/
在
CustomUserAdmin
中,admin.py
中,必须声明一个fieldsets
:相关问题 更多 >
编程相关推荐