AUTH_USER_MODEL
设置为你的模型即可。这本质上替换了默认模型。AUTH_USER_MODEL = "appname.UserModelName"
如需了解更多有关替换用户模型的信息,请参见 https://docs.djangoproject.com/en/dev/topics/auth/customizing/#substituting-a-custom-user-model。
class User(AbstractUser):
class Meta:
app_label = 'auth'
AdminSite
中定义get_app_list
。from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
UserAdmin.list_display = ('email', 'first_name', 'last_name', 'is_active', 'date_joined', 'is_staff')
admin.site.register(User, UserAdmin)
User
类,它会出现在我的应用程序中;b)如果我使用Django auth的类,它不会出现在任何地方(这并不奇怪,因为那不是我用来表示用户的类)。 - gozzilli尝试这个:
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.utils.translation import gettext_lazy as _
class AdminExtra(UserAdmin):
add_form_template = "admin/auth/user/add_form.html"
change_user_password_template = None
fieldsets = (
(None, {"fields": ("username", "password")}),
(_("Personal info"), {"fields": ("first_name", "last_name", "email", "nick_name")}),
(
_("Permissions"),
{
"fields": (
"is_active",
"is_staff",
"is_superuser",
"groups",
"user_permissions",
),
},
),
(_("Important dates"), {"fields": ("last_login", "date_joined")}),
)
add_fieldsets = (
(
None,
{
"classes": ("wide",),
"fields": ("username", "password1", "password2"),
},
),
)
admin.site.register(User, AdminExtra)
你可能想试试这个:
https://libraries.io/pypi/django-modeladmin-reorder
在管理应用程序中为应用程序和模型进行自定义排序。您还可以重命名、交叉链接或从应用程序列表中排除模型。
class CustomUser(AbstractUser):
class Meta:
db_table = 'auth_user'
app_label = 'auth'
在设置中:
AUTH_USER_MODEL = "auth.CustomUser"