Я новичок в Django, я хочу расширить PasswordResetForm и настроить метод get_users (). У меня есть пользовательская модель пользователя, и вместо поля «is_active» у меня есть «active», и это вызывает ошибку
Невозможно разрешить ключевое слово «is_active» в поле. Доступны следующие варианты: активный,> администратор, электронная почта, email_verified, id, kyc_verified, last_login, logentry,> пароль, профиль, персонал, транзакция
Я попытался переопределить мою модель пользователя обратно, чтобы иметь обязательное поле как«is_active», но я продолжаю получать сообщение об ошибке при миграции.
django.core.exceptions.FieldError: Неизвестные поля (активные) указаны> для пользователя
Даже когда я изменяю весь экземпляр «активный» на «is_active»
Класс модели
class User(AbstractBaseUser):
email = models.EmailField(max_length=254, unique= True)
active= models.BooleanField(default=True)
admin= models.BooleanField(default=False)
staff= models.BooleanField(default=False)
email_verified = models.BooleanField(default=False)
kyc_verified = models.BooleanField(default=False)
USERNAME_FIELD = 'email' #used to identify users
EMAIL_FIELD = 'email'
objects = UserManager()
Класс формы ModifiedPasswordResetForm (PasswordResetForm):
def get_users(self, email):
active_users = UserModel._default_manager.filter(**{
'%s__iexact' %
UserModel.get_email_field_name(): email,
'active': True,
})
return (u for u in active_users if u.has_usable_password())
Вид
def password_reset(request):
if request.method == 'POST':
form = PasswordResetForm(request.POST or None)
if form.is_valid():
form.save(from_email='info@cryptoswapify.net',)
messages.success(request, 'Password
reset',extra_tags='alert')
return redirect('passwordreset')
else:
messages.error(request, 'Please provide a valid email
address',extra_tags='alert')
return render(request, 'crypto/password_reset.html',
{'form': form, })
form = PasswordResetForm()
return render(request,'crypto/password_reset.html', {'form' :
form})
Я ожидаю, что метод get_users () проверит «активный» фильтр вместо «is_active» или, что еще лучше, решение о том, как переименовать поля модели и выполнить миграции, чтобы у меня снова были правильные имена полей