change user validation from national_code to user name

This commit is contained in:
2025-10-27 16:50:20 +03:30
parent f6c6aa7abb
commit 2e540e8109
2 changed files with 8 additions and 4 deletions

View File

@@ -109,17 +109,17 @@ class UserSerializer(serializers.ModelSerializer):
def validate(self, attrs):
mobile = attrs['mobile']
national_code = attrs['national_code']
username = attrs['username']
if not self.instance:
if self.Meta.model.objects.filter(Q(mobile=mobile) | Q(national_code=national_code)).exists():
if self.Meta.model.objects.filter(Q(mobile=mobile) | Q(username=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.national_code != national_code:
if self.Meta.model.objects.filter(national_code=national_code).exists():
if self.instance.username != username:
if self.Meta.model.objects.filter(username=username).exists():
raise UserExistException()
return attrs

View File

@@ -39,3 +39,7 @@
[2025-10-27 16:26:54,114] INFO django.utils.autoreload | IP: - | Path: - | D:\Project\Rasaddam_Backend\apps\core\api.py changed, reloading.
[2025-10-27 16:26:55,924] INFO django.utils.autoreload | IP: - | Path: - | Watching for file changes with StatReloader
[2025-10-27 16:37:24,219] INFO django.utils.autoreload | IP: - | Path: - | D:\Project\Rasaddam_Backend\apps\authorization\api\v1\api.py changed, reloading.
[2025-10-27 16:37:26,220] INFO django.utils.autoreload | IP: - | Path: - | Watching for file changes with StatReloader
[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.