From 96d18ac48866c203c57eaca509669d970c413b16 Mon Sep 17 00:00:00 2001 From: Mojtaba-z Date: Mon, 27 Oct 2025 17:06:06 +0330 Subject: [PATCH] fix bug of user edit --- .../api/v1/serializers/serializer.py | 16 +++++++++++----- logs/django_requests.log | 2 ++ 2 files changed, 13 insertions(+), 5 deletions(-) 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.