From 1be7418e0d4ed8de99e9db89c0bd91c225c9414d Mon Sep 17 00:00:00 2001 From: Mojtaba-z Date: Mon, 27 Oct 2025 11:32:41 +0330 Subject: [PATCH] fix user update bug foe mobile & national_code validation --- apps/authentication/api/v1/serializers/serializer.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/authentication/api/v1/serializers/serializer.py b/apps/authentication/api/v1/serializers/serializer.py index 0d5a05c..a1cec6e 100644 --- a/apps/authentication/api/v1/serializers/serializer.py +++ b/apps/authentication/api/v1/serializers/serializer.py @@ -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 """