Получение ошибок при проверке пароля в сериализаторах Django?
мой сериализатор
class RegistrationSerializer(serializers.ModelSerializer):
class Meta:
model = CustomUser
fields = ['username', 'password']
#overwrite validate method to add some complexity to the password
def validate(self, data):
#here data is a ordered dict
if not data:
return Response("please enter name and password")
password = data.get('password', '')
print(password)
user = CustomUser(**data)
print(self.instance)
messages = {}
my_password_validators = [UserAttributeSimilarityValidator, MinimumLengthValidator, CommonPasswordValidator, NumericPasswordValidator]
try:
password_validation.validate_password(password,
password_validators=my_password_validators)
# the exception raised here is different than serializers.ValidationError
except exceptions.ValidationError as e:
print("here")
print(e)
messages['password'] = list(e.messages)
# If some error then return those error
if messages:
raise serializers.ValidationError(messages)
return super(RegistrationSerializer, self).validate(data)
моя ошибка объект типа 'NoneType' не имеет len()
Пароль приходит нормально, но он не выдает атрибут длины, также я хочу знать, как имя пользователя должно быть передано этому методу, чтобы он мог проверить сходство пароля с именем пользователя