Drf ModelSerializer валидация на уровне поля

Я пытаюсь провести валидацию на уровне поля для проверки поля branch в ModelSerialzer, но этот метод никогда не вызывается.

class UserProfileSerializer(serializers.ModelSerializer):
    branch = serializers.ChoiceField(choices=Branch.choices)

    class Meta:
        model = UserProfile
        exclude = ['user']

    def validate_branch(self, branch):
        print(branch)
        return branch.upper()


class CustomRegisterSerializer(RegisterSerializer):
    profile = UserProfileSerializer(source="userprofile")

    @transaction.atomic
    def create(self, validated_data):
        validated_profile_data = validated_data.pop('profile')
        user = User.objects.create(**validated_data)
        UserProfile.objects.create(user=user, **validated_profile_data)
        return user

Я следовал этому drf docs.

Валидаторы запускаются, когда вызывается is_valid. Из приведенного ниже кода вы можете получить представление о том, как вызвать метод is_valid(). Вы можете вызвать его из файла views.py.

serializer = UserProfileSerializer(data="The data you want to send")
serializer.is_valid(raise_exception=True)
Вернуться на верх