I'm trying to Field-Level validation to validate branch field in ModelSerialzer but this method never called.
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
I followed this drf docs.