Как отключить пароль в 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
я буду очень рад вашему ответу