Модель User имеет много зависимостей и должна соответствовать разнообразному набору требований API для взаимодействия с остальной частью инфраструктуры django. Это из-за его связи с аутентификацией и авторизацией. Изменение User
означает изменение ожидаемого поведения contrib.auth
. Если вы хотите сделать это, вы можете, и это настраивается в settings.py.
Скорее всего, вы хотите настроить дополнительные метаданные, связанные с пользователями. Эта дополнительная информация никак не связана с аутентификацией, поэтому ее можно настроить отдельно, не влияя на contrib.auth. Чтобы облегчить управление зависимостями, это делается в отдельной модели. Это дает дополнительное преимущество, заключающееся в том, что различие между данными, зависящими от авторизации, и пользовательскими метаданными для конкретного сайта становится гораздо более четким.