From 92b60af34f787f88687e33a03cb0bdc8e81742b7 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:33:23 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D1=83=D0=B4=D0=B0=D0=BB=D1=8F=D0=B5?= =?UTF-8?q?=D0=BC=20avatar=20=D0=B8=D0=B7=20vd=20=D0=BF=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=B4=20DB-only=20=D0=B2=D0=B0=D0=BB=D0=B8=D0=B4=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B5=D0=B9=20(=D0=BF=D1=80=D0=B5=D0=B4=D0=BE=D1=82?= =?UTF-8?q?=D0=B2=D1=80=D0=B0=D1=89=D0=B0=D0=B5=D1=82=20=D0=BF=D0=BE=D0=B2?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BD=D1=83=D1=8E=20=D0=B2=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D0=B4=D0=B0=D1=86=D0=B8=D1=8E)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/api/v1/employees/views.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/backend/api/v1/employees/views.py b/backend/api/v1/employees/views.py index f8aa021d..64b70f33 100644 --- a/backend/api/v1/employees/views.py +++ b/backend/api/v1/employees/views.py @@ -1879,6 +1879,12 @@ class EmployeeViewSet(viewsets.ModelViewSet): # DB-only logger.info(f"[ME PATCH] Step 11: Processing DB-only fields, vd keys: {list(vd.keys())}") + + # КРИТИЧНО: удаляем avatar из vd, т.к. он уже обработан выше + if 'avatar' in vd: + logger.info("[ME PATCH] Step 11: Removing avatar from vd (already processed)") + vd.pop('avatar') + if vd: logger.info("[ME PATCH] Step 11: Validating and saving DB-only fields...") ser_db = self.get_serializer(instance, data=vd, partial=True) @@ -2206,6 +2212,12 @@ class EmployeeViewSet(viewsets.ModelViewSet): # --- DB-only часть --- # Обновляем только оставшиеся поля, чтобы не перетирать работу сервиса + + # КРИТИЧНО: удаляем avatar из vd, т.к. он уже обработан выше + if 'avatar' in vd: + print("[EMP PATCH] Removing avatar from vd (already processed)") + vd.pop('avatar') + if vd: ser_db = self.get_serializer(emp, data=vd, partial=True) try: