Django Неверные учетные данные: Объект пользователя check_password возвращает True, но функция authenticate возвращает False
У меня есть учетная запись пользователя в стандартной модели User в Django, где check_password() имеет значение True, но функция authenticate не возвращает пользователю объект с тем же паролем, и это происходит только для этого пользователя.
>>> from django.contrib.auth import authenticate
>>> from django.contrib.auth.models import User
>>> user = User.objects.get(username='user_1')
>>> user.check_password('1234')
// returns True
>>> authenticate(username='user_1', password='1234')
// returns False
и самое главное, это происходит только с этим объектом пользователя [имя пользователя: user_1] и не с любыми другими пользователями.
Я пробовал сбросить пароль с помощью set_password()
>>> user.set_password('1234')
>>> user.save()
Даже после сброса пароля, authenticate все еще не возвращает объект пользователя, и он сбрасывается для других пользователей должным образом.
Вопрос в том, почему это происходит для конкретного пользователя, а не для других пользователей.
Версия Django: 2.2
Ошибка, которую я сделал, заключается в том, что я не проверил поле is_active для этого объекта User, функция Django authenticate() ищет флаг is_active для объекта user, и если он False, то не возвращает объект User.
Спасибо Iain