自定义django passwordresetform方法get_users

我是Django的新手,我希望扩展PasswordResetform并自定义get_users()方法。我有一个自定义的用户模型,而不是字段“ is_active”,而是“ active”,这会引发错误

  

无法将关键字“ is_active”解析为字段。选项包括:活动,> admin,电子邮件,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,{'form' : 
    form})

我希望get_users()方法检查“活动”过滤器而不是“ is_active”,或者更好地是关于如何重命名模型字段并进行迁移的解决方案,以便使我再次拥有正确的字段名称

tdkimo 回答:自定义django passwordresetform方法get_users

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3127727.html

大家都在问