From 649bd62a2b4804666aca77acd348962b5d912703 Mon Sep 17 00:00:00 2001 From: lizerk Date: Fri, 20 Mar 2026 01:01:07 +0300 Subject: [PATCH] Fix: Use QueryDict.dict() instead of dict(QueryDict) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dict(QueryDict) wraps every value in a list: {'first_name': ['Вадимин']} QueryDict.dict() returns single values: {'first_name': 'Вадимин'} This caused LDAP fields to be saved as "['Вадимин']" instead of 'Вадимин' because the list was stringified by ldapdb before writing to AD. --- backend/api/v1/employees/views/employees.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/api/v1/employees/views/employees.py b/backend/api/v1/employees/views/employees.py index 19cf5ae1..9ccf63ae 100644 --- a/backend/api/v1/employees/views/employees.py +++ b/backend/api/v1/employees/views/employees.py @@ -205,7 +205,9 @@ class EmployeeViewSet(viewsets.ModelViewSet): old_email = instance.email # Передаем данные для синхронизации с LDAP (через сигналы) - instance._ldap_changes = dict(self.request.data) + # request.data — это QueryDict, dict() конвертирует значения в списки. + # Используем .dict() чтобы получить одиночные значения. + instance._ldap_changes = self.request.data.dict() if 'avatar' in self.request.FILES: instance._ldap_avatar = self.request.FILES['avatar']