我试图使用AbstractUser设置具有两个添加字段的自定义用户,但是当我在站点admin中检查添加用户表单时,表单字段以不同顺序显示(首先输入密码,组和用户权限) ,然后是用户名,等等)
在我的设置中,我已经将AUTH_USER_MODEL注册到我的自定义User类。我有一个带有大量测试字段的用户类,当我运行它时,这些字段按照上面指定的顺序显示。然后,我创建了一个CustomUserCreationForm和一个CustomUserAdmin来尝试对字段进行排序,但是最终只显示了用户名和密码。
models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.
class User(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)
forms.py
from django.contrib.auth.forms import UserCreationForm
from .models import User
class CustomUserCreationForm(UserCreationForm):
class Meta(UserCreationForm.Meta):
model = User
fields = ('username', 'email', 'password', 'bio', 'location', 'birth_date')
admin.py
from django.contrib import admin
from .models import User
from django.contrib.auth.admin import UserAdmin
from .forms import CustomUserCreationForm
class CustomUserAdmin(UserAdmin):
add_form = CustomUserCreationForm
admin.site.register(User) #This one shows all the fields scrambled
#admin.site.register(User, CustomUserAdmin) #This one only shows 3 fields on the creation (user, pass and pass_confirm)
我希望看到的内容与“添加用户表单”的方式类似,只是添加了我正确添加和排序的额外字段。
预先感谢输入