Я создал пользовательскую модель с country
в ней:
models.py
class CustomUser(AbstractUser):
country = models.CharField(max_length=50, default="None")
Затем добавлены пользовательские формы с полем формы country
, которое является ChoiceField
и отображает все страны:
forms.py
class CustomUserCreationForm(UserCreationForm):
country = forms.ChoiceField(choices=sorted(COUNTRIES.items()), label="Country")
class Meta(UserCreationForm):
model = CustomUser
fields = '__all__'
class CustomUserChangeForm(UserChangeForm):
country = forms.ChoiceField(choices=sorted(COUNTRIES.items()), label="Country")
class Meta(UserChangeForm):
model = CustomUser
fields = '__all__'
Тогда я зарегистрировал его в админке с помощью:
admin.py
class CustomUserAdmin(UserAdmin):
add_form = CustomUserCreationForm
form = CustomUserChangeForm
model = CustomUser
list_display = ['email', 'username', 'is_staff',]
admin.site.register(CustomUser, CustomUserAdmin)
Он зарегистрирован и все работает нормально, я могу сохранить модель с помощью оболочки Django и программно, но не могу отобразить ее в консоли администратора. Когда я пытаюсь создать нового пользователя от администратора, я просто вижу три поля - имя пользователя, пароль и подтверждение пароля.
Нужно ли расширять шаблон администратора для отображения этого нового поля?