diff --git a/apps/authentication/api/v1/serializers/serializer.py b/apps/authentication/api/v1/serializers/serializer.py index a71f3fb..aff0caf 100644 --- a/apps/authentication/api/v1/serializers/serializer.py +++ b/apps/authentication/api/v1/serializers/serializer.py @@ -109,18 +109,24 @@ class UserSerializer(serializers.ModelSerializer): def validate(self, attrs): mobile = attrs['mobile'] - username = attrs['username'] + if 'username' in attrs.keys(): + username = attrs['username'] if not self.instance: - if self.Meta.model.objects.filter(Q(mobile=mobile) | Q(username=username)).exists(): + if self.Meta.model.objects.filter( + Q(mobile=mobile) | Q(username=attrs['username']) + ).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.username != username: - if self.Meta.model.objects.filter(username=username).exists(): - raise UserExistException() + + if 'username' in attrs.keys(): + if self.instance.username != attrs['username']: + if self.Meta.model.objects.filter(username=attrs['username']).exists(): + raise UserExistException() return attrs diff --git a/logs/django_requests.log b/logs/django_requests.log index 543bd9e..6ba38d6 100644 --- a/logs/django_requests.log +++ b/logs/django_requests.log @@ -43,3 +43,5 @@ [2025-10-27 16:47:09,174] INFO django.utils.autoreload | IP: - | Path: - | D:\Project\Rasaddam_Backend\apps\authentication\api\v1\serializers\serializer.py changed, reloading. [2025-10-27 16:47:13,725] INFO django.utils.autoreload | IP: - | Path: - | Watching for file changes with StatReloader [2025-10-27 16:49:53,321] INFO django.utils.autoreload | IP: - | Path: - | D:\Project\Rasaddam_Backend\apps\authentication\api\v1\serializers\serializer.py changed, reloading. +[2025-10-27 16:49:55,766] INFO django.utils.autoreload | IP: - | Path: - | Watching for file changes with StatReloader +[2025-10-27 17:04:59,459] INFO django.utils.autoreload | IP: - | Path: - | D:\Project\Rasaddam_Backend\apps\authentication\api\v1\serializers\serializer.py changed, reloading.