From bb2f8a44370c57731d72e4eeee690e0e2556950c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B3=D0=BE=D1=80=D1=8C=20=D0=9D=D0=B0=D0=B4=D0=B5?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Tue, 2 Dec 2025 11:16:10 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=20ValidationError:=20=D0=B2=D0=BE=D0=B7=D0=B2?= =?UTF-8?q?=D1=80=D0=B0=D1=82=20400=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE?= =?UTF-8?q?=20500=20=D0=BF=D1=80=D0=B8=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=B0=D1=85=20=D0=B2=D0=B0=D0=BB=D0=B8=D0=B4=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=B0=D0=B2=D0=B0=D1=82=D0=B0=D1=80=D0=B0=20=D0=B8=20?= =?UTF-8?q?=D0=B4=D1=80=D1=83=D0=B3=D0=B8=D1=85=20=D0=BF=D0=BE=D0=BB=D0=B5?= =?UTF-8?q?=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/api/v1/employees/views.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/backend/api/v1/employees/views.py b/backend/api/v1/employees/views.py index 81381d73..d01b5c9b 100644 --- a/backend/api/v1/employees/views.py +++ b/backend/api/v1/employees/views.py @@ -1846,11 +1846,15 @@ class EmployeeViewSet(viewsets.ModelViewSet): if vd: logger.info("[ME PATCH] Step 11: Validating and saving DB-only fields...") ser_db = self.get_serializer(instance, data=vd, partial=True) - ser_db.is_valid(raise_exception=True) - ser_db.save() - instance = ser_db.instance - data = ser_db.data - logger.info("[ME PATCH] Step 11: DB-only fields saved successfully") + try: + ser_db.is_valid(raise_exception=True) + ser_db.save() + instance = ser_db.instance + data = ser_db.data + logger.info("[ME PATCH] Step 11: DB-only fields saved successfully") + except ValidationError as ve: + logger.warning(f"[ME PATCH] Step 11: Validation error: {ve.detail}") + return Response(ve.detail, status=400) else: logger.info("[ME PATCH] Step 11: No DB-only fields to save") data = self.get_serializer(instance).data @@ -2170,12 +2174,12 @@ class EmployeeViewSet(viewsets.ModelViewSet): ser_db = self.get_serializer(emp, data=vd, partial=True) try: ser_db.is_valid(raise_exception=True) + ser_db.save() + emp = ser_db.instance + data = ser_db.data except ValidationError as exc: - print("[EMP PATCH] DB serializer errors: %s" % exc.detail) - raise - ser_db.save() - emp = ser_db.instance - data = ser_db.data + print("[EMP PATCH] DB serializer validation error: %s" % exc.detail) + return Response(exc.detail, status=400) else: data = self.get_serializer(emp).data