З документів Django.Contrib.Auth :
Розширення користувача за замовчуванням Django Якщо вас цілком влаштовує модель користувача Django, і ви просто хочете додати додаткову інформацію про профіль, ви можете просто зробити підклас
django.contrib.auth.models.AbstractUser
та додати власні поля профілю. Цей клас забезпечує повну реалізацію користувача за замовчуванням як абстрактну модель.
Сказано і зроблено. Я створив нову модель, як показано нижче:
class MyUser(AbstractUser):
some_extra_data = models.CharField(max_length=100, blank=True)
Це відображається в адміністраторі майже як стандарт Django User
. Однак найважливіша відмінність адміністратора полягає в тому, що поля для (пере) встановлення пароля немає, а замість цього відображається звичайний CharField. Чи справді мені доводиться перевизначати матеріали в адмін-конфігурі, щоб це працювало? Якщо так, то як я можу зробити це дещо СУХО (тобто без копіювання матеріалів із джерела Django ... eww ...)?