@svolosch

Стоит ли так расширять модель User в Django?

Добрый день.
Изучаю Django. Вопрос скорее академического характера...
Хочу сделать в качестве логина email. В интернете есть батарейки и прочее, интересует самому сделать. На данном этапе мне не нужна дополнительная информация для User
Стоит ли идти по такому пути?
1. Расширить модель через proxy Meta класса.
2. Переопределить метод save, где username буду присваивать email
3. Прописать свою модель в AUTH_USER_MODEL

В последствии, как мне кажется, можно будет расширить, в случае надобности, модель через дополнительную таблицу и OneToOneField.

В чем я прав/не прав?
  • Вопрос задан
  • 426 просмотров
Пригласить эксперта
Ответы на вопрос 2
@artinnok
бекенд-программист
Метод save переопределять - это самый край, last resort и в целом, плохая практика.

Прокси модели обычно используют тогда, когда расширяют существующую модель - добавляют методы, проперти или меняют менеджера, но не затрагивают атрибутов.

Свою модель прописать сложнее всего, но это самый гибкий и контролируемый вариант. И это хорошо, уметь написать свою модель юзера, в зависимости от поставленной задачи.
Ответ написан
@hellpirat
Full stack developer (Python/Django, React.js)
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы