Как отключить пароль в Dj Rest Auth?

У меня есть приложение, и новый пользователь может зарегистрироваться только с помощью OTP-сообщения с телефона. поэтому я хочу отключить пароль в API и пользователь может зарегистрироваться только с помощью OTP. вот мой serializers.py

class CustomRegisterSerializer(RegisterSerializer):

    email=serializers.EmailField(required=True)
    image=serializers.ImageField(required=True)      
    phone=serializers.CharField(required=True)
    address=serializers.CharField(required=True)
    gender=serializers.ChoiceField(choices=GENDER,required=True)
    birthday=serializers.DateField(required=True)    
    password1=serializers.CharField(required=False) 
    password2=serializers.CharField(required=False) 
    
    def get_cleaned_data(self):
        super(CustomRegisterSerializer,self).get_cleaned_data()
        return {    
            'email': self.validated_data.get('email',""),
            # 'password1': self.validated_data.get('password1',""),
            # 'password2': self.validated_data.get('password2',""),
            'username': self.validated_data.get('username',""),
            'phone': self.validated_data.get('phone',""),
            'address': self.validated_data.get('address',""),
            'gender': self.validated_data.get('gender',""),
            'birthday': self.validated_data.get('birthday',""),
            'image': self.validated_data.get('image',"")    
        }

    def validate_phone(self,value):
        if Account.objects.filter(phone__iexact=value).exists():
            raise ValidationError(f"{value} is already registered")

    def validate_image(self,value):    
        size=value.size / (1024 * 1024)
        type=os.path.splitext(value.name)[1]
        if size > 2 or type != ".jpg":
            raise ValidationError("image size is more than (2Mb)") 

    def save(self, request):
        user = super().save(request)
        user.set_unusable_password()
        user.username=self.data.get("username")
        user.first_name=self.data.get("username")
        user.save()   
        myacount=user.account
        myacount.image=request.FILES["image"]   
        myacount.type="Patient"
        myaccount.phone=self.data.get("phone")
        myaccount.birthday=self.data.get("birthday")
        myaccount.gender=self.data.get("gender")
        myaccount.address.add(name=self.data.get("address"))
        myacount.save()
  
        return user       

я буду очень рад вашему ответу

Вернуться на верх