Как добавить дополнительные обязательные поля на страницу администрирования Django «User Add»? - PullRequest
2 голосов
/ 10 декабря 2010

При добавлении нового пользователя в мое приложение Django я хотел бы убедиться, что на странице администрирования требуется, чтобы администратор включил поле «электронная почта».

Я пытался повозиться с объектом UserAdminForm, но до сих пор ничего не получалось. Любые советы?

1 Ответ

1 голос
/ 10 декабря 2010

Вы захотите добавить что-то подобное в один из файлов admin.py вашего проекта:

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from django.contrib.auth.models import Group, User


# Override username field require email address
class UserCreationForm2(UserCreationForm):
    email = forms.CharField(max_length=75, required=True)

class UserChangeForm2(UserChangeForm):
    email = forms.CharField(max_length=75, required=True)

class UserAdmin2(UserAdmin):
    form = UserChangeForm2
    add_form = UserCreationForm2

admin.site.unregister(User)
admin.site.register(User, UserAdmin2)

По сути, сделайте поле электронной почты обязательным, отмените регистрацию встроенного администратора и зарегистрируйте нового администратора с переопределением.

...