Показать поля для добавления пароля в пользовательскую модель пользователя - Django

У меня есть пользовательская модель пользователя. Я хочу, чтобы админ мог создавать новые аккаунты из панели администратора. Регистрация класса не помогает.

admin.site.register(CustomUser)

*Это исключает возможность двойного ввода пароля

Поэтому я пробую следующее решение:

from django.contrib.auth.admin import UserAdmin

admin.site.register(CustomUser, UserAdmin)

* В приведенном выше варианте у меня есть возможность ввести пароль дважды (когда я создаю пользователя), но другие поля из моей пользовательской модели пользователя исчезают.

class CustomUser(AbstractUser):
    name = models.CharField(max_length=50, blank=True, null=True)
    surname = models.CharField(max_length=50, blank=True, null=True)
    account_type = models.ForeignKey(Locationd, on_delete=models.CASCADE, blank=True, null=True

Как добавить возможность создавать учетные записи в панели администратора, задавая пароль, который может быть отправлен новому пользователю, и редактировать все поля из класса пользователя custome.

)

Вы можете использовать свою собственную форму Django

from .models import User
from .forms import SignUpForm
from django.contrib.auth.admin import UserAdmin
from django.contrib import admin

class ManagingUsers(UserAdmin):

    add_form = SignUpForm

    list_display = ['__str__']
    search_fields = ['email']
    readonly_fields = ['date_joined', 'last_login']
    ordering = ('id',)

    filter_horizontal = []
    list_filter = []


    add_fieldsets = (

        ('Add a new user', {
            'classes':('wide',),
            'fields': ('first_name', 'last_name' ,'email', 'birthday', 'password1', 'password2', 'avatar', 'cover_pic', 'validated', 'is_admin', 'is_staff', 'is_active', 'is_superuser'),
            }),
        )
    
    fieldsets = (

        (None, {
            'fields': ('first_name', 'last_name', 'bio' ,'email', 'birthday', 'avatar', 'cover_pic', 'is_admin',  'is_staff', 'is_active', 'is_superuser'),
            }),

        )
admin.site.register(User, ManagingUsers)

Это код из старого проекта, поэтому измените названия полей на те, которые вам нужны

Вам нужно снять регистрацию модели user, а затем добавить вашего пользовательского пользователя

from django.contrib.auth.models import User

admin.site.unregister(User)
admin.site.register(CustomUser, UserAdmin or YourCustomAdminSettings)
Вернуться на верх