Найти - Пользователи
Полная версия: Переопределение базовой модели User в Django
Начало » Django » Переопределение базовой модели User в Django
1
AllGood
Всем добра!!!
Пишу API на Django + Django REST framework.
Как написано в доке для расширения инфы о пользователе можно использовать отношение один к одному.
class Profile(models.Model):
    age = models.IntegerField()
    gender = models.CharField(max_length=10)
    initial_weight = models.FloatField()
    height = models.FloatField()
    # Relations
    user = models.OneToOneField(User, related_name='profile')
Одна для валидации при регистрации (и вообще на будущие) мне нужно что бы поле email стало required. Неужели для такого маленького изменения предеться переопределять всю модель User с ее обязательными методами? Или же есть другой способ добиться этого?
И еще уточню, что я хочу сделать именно поле модели обязательным, а не писать дополнительные валидационные методы для проверки значения или что то подобно. Однако прислушаюсь к любому совету!
fongostev
А почему бы не использовать AbstractBaseUser или CustomUser?
https://docs.djangoproject.com/en/dev/topics/auth/customizing/
AllGood
А я вот потому и спрашиваю ). Я потерялся в этих "или", хочу найтись.
Мне нравиться когда в проекте нет ничего лишнего. Конкретно сейчас модель User у меня должна состоять из полей email и password и больше ничего. И по этой логике я бы хотел просто напросто заменить стандартную User модель на кастомную, и тогда вся система авторизации летит к чертовой матери - я должен переопределить целую кучу новых методов для работы.
Плюс к этому я не знаю как на такую замену отреагируют уже установленные библиотеки иди же те которые могут быть установлены. Предполагаю что то же все так просто не будет, и там тоже придется что то переписывать.
Прокси модель мне сейчас использовать не надо….
понаписал тут всякого
В общем на сколько сложно следовать концепции ничего лишнего, какие проблемы при этом возникают?
Стоит ли оно того?
Может быть я в корне что то не верно понимаю, подскажите как понять что почитать?
fongostev
Я кинул ссылку, почитайте. Там написано про кастомные модели пользователя и как сделать авторизацию на их основе, не переопределяя никаких методов.
Вообще “ничего лишнего” можно достичь, если изначально правильно поставить задачу
Но оно не всегда бывает очевидным, иной раз после полутора лет работы над проектом понимаешь, как надо было сделать.
Хорошие ресурсы можно найти тут на форуме в теме http://python.su/forum/topic/1535/
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB