fix user update bug foe mobile & national_code validation

This commit is contained in:
2025-10-27 11:32:41 +03:30
parent a7cd7d1f87
commit 1be7418e0d

View File

@@ -105,8 +105,16 @@ class UserSerializer(serializers.ModelSerializer):
mobile = attrs['mobile']
national_code = attrs['national_code']
if self.Meta.model.objects.filter(Q(mobile=mobile) | Q(national_code=national_code)).exists():
raise UserExistException()
if not self.instance:
if self.Meta.model.objects.filter(Q(mobile=mobile) | Q(national_code=national_code)).exists():
raise UserExistException()
elif self.instance:
if self.instance.mobile != mobile:
if self.Meta.model.objects.filter(mobile=mobile).exists():
raise UserExistException()
if self.instance.national_code != national_code:
if self.Meta.model.objects.filter(national_code=national_code).exists():
raise UserExistException()
def to_representation(self, instance):
""" Custom output """