@wawa

Как переопределить модель User после миграций?

Уже применены миграции (вместе с приложением django.contrib.auth)
Проект работает, но модель auth.User пока нигде не используется, кроме, видимо, админки.
Нужно переопределить её, сделав регистрацию только по email.
Проблема в том, что джанга не рассчитана на такой маневр. Я находил какие-то мануалы, но не хватает опыта разобраться.
Т.е. план, начни я до migrate, был бы такой: User(AbstractBaseUser), USERNAME_FIELD='email', REQUIRED_FIELDS=[], вроде ничего не забыл.
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ответы на вопрос 1
Xaip
@Xaip
Никто вам не мешает унаследовать AbstractBaseUser со своим классом типо: CustomUser.
https://docs.djangoproject.com/en/2.0/topics/auth/...
А сделать авторизацию через email можно и так.
def auth(request):
    email = request.POST['email']
    password = request.POST['password']
    get_user = get_object_or_404(User, email=email)
    user = authenticate(username=get_user.username, password=password)
    if user is not None and user.is_active:
        login(request, user)
        return HttpResponseRedirect(reverse('shop:index'))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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