Django админ `add_form` не показывает` CustomUserCreationForm` в админке - PullRequest
0 голосов
/ 11 января 2020

Я создал следующее CustomUserCreationForm:

class CustomUserCreationForm(UserCreationForm):
    class Meta(UserCreationForm.Meta):
        model = CustomUser
        fields = ['username', 'email', 'age']

Я использовал эту форму на SignUpView, и она работает, как и ожидалось, а именно показывает все поля, которые мы указали выше, но когда я использую ее в админ показывает только поля username, password1 и password2.

class CustomUserAdmin(UserAdmin):
    # The forms to add and change user instances
    add_form = CustomUserCreationForm
    form = CustomUserChangeForm
    model = CustomUser
    list_display = ['email', 'username', 'age', 'is_staff', ]


admin.site.register(CustomUser, CustomUserAdmin)

, когда я добавляю пользователя на странице администратора, отображаются следующие поля, а не все поля, указанные в UserCreationForm: enter image description here

почему это что происходит и как мне это решить?

редактировать: добавлена ​​пользовательская модель пользователя:

class CustomUser(AbstractUser):
    age = models.PositiveIntegerField(null=True, blank=True)

редактировать 2: signupview отлично работает, кроме формы создания пользователя-администратора: enter image description here

1 Ответ

0 голосов
/ 11 января 2020
class CustomUserAdmin(UserAdmin):
    ---------
    # add_fieldsets is not a standard ModelAdmin attribute. UserAdmin
    # overrides get_fieldsets to use this attribute when creating a user.
    add_fieldsets = (
        (None, {
            'classes': ('wide',),
            'fields': ('username', 'email', 'password1', 'password2', 'age')}
        ),
    )


admin.site.register(CustomUser, CustomUserAdmin)
admin.site.unregister(Group)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...