В новом проекте настоятельно рекомендуем начать с пользовательской модели пользователя.
Причина в том, что если вы хотите позже изменить свою модель пользователя, тогда есть четкий способ сделать это (миграции). Тем не менее, переход от пользователя auth-пользователя к пользовательскому пользователю, когда у вас уже есть отношения ForeignKey (и т. Д.) С auth-User, является больной () (см. Ниже). Учитывая, что очень легко начать с вашей собственной модели в начале проекта (возможно, просто скопируйте модель auth), есть очень мало оснований не делать этого.
Документах сказать о том, как трудно изменить AUTH_USER_MODEL позже:
Предупреждение
Изменение AUTH_USER_MODEL имеет большое влияние на вашу структуру базы данных. Он изменяет доступные таблицы, и это повлияет на построение внешних ключей и отношений «многие ко многим» в . Если вы намереваетесь установить AUTH_USER_MODEL, вы должны установить его перед созданием любых маршрутов или выполнить переход на manage.py в первый раз.
Изменение этого параметра после того, как у вас есть таблицы, созданные не поддерживаются по makemigrations и приведут вас, чтобы вручную исправить схемы, порт данные из старой таблицы пользователя, и, возможно, вручную повторно некоторые миграции.
Предупреждение
Из-за ограничения функции динамической зависимости Джанго для заменяемых моделей, вы должны убедиться, что модель ссылается AUTH_USER_MODEL создается в первой миграции своего приложения (обычно называется 0001_initial); в противном случае у вас будут проблемы с зависимостью.
Кроме того, вы можете столкнуться с CircularDependencyError при запуске ваши миграции как Django не смогут автоматически разорвать петлю на зависимости из-за динамическую зависимость. Если вы видите эту ошибку, , вы должны сломать цикл, перемещая модели, зависящие от модели пользователя , во вторую миграцию (вы можете попробовать сделать две нормальные модели , которые имеют ForeignKey друг к другу и видят, как макетирование разрешает это циклическая зависимость, если вы хотите увидеть , как это обычно делается)
другими словами, если вы решили не использовать AUTH_USER_MODEL в начале вашего проекта, это практически невозможно изменить позже.
Существует ticket #24370 для добавления пользовательской модели и AUTH_USER_MODEL к шаблону проекта по умолчанию и рекомендуется делать это в документации. Этот билет просто ждет, когда кто-то его выполнит.
Прос вам не нужно писать это самостоятельно или беспокоиться об этом вообще .... против вы его не писали и могут хотеть что-то, о чем автор не думал ... –