From e90f6a48a306f0520af7ee22d6d22753082870f1 Mon Sep 17 00:00:00 2001 From: Andrey Smakotin Date: Tue, 11 Nov 2025 00:30:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=B8=D1=81=D0=BA=20=D0=BF=D0=BE?= =?UTF-8?q?=20email=20=D1=82=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=B0=D0=B5=D1=82=20=D0=BF=D0=BE=20=D1=87?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D0=B8=20=D0=B0=D0=B4=D1=80=D0=B5=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Изменено: email__iexact на email__icontains Причина: Пользователь хочет искать по части email, например: - Ввод 'NATUL' должен найти 'natulj@bk.ru' - Ввод 'bk.ru' должен найти всех пользователей с этим доменом - Ввод полного email найдет точный результат Это соответствует логике поиска по имени и телефону - гибкий поиск по части. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- myproject/customers/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/myproject/customers/views.py b/myproject/customers/views.py index 5353f0e..7380ece 100644 --- a/myproject/customers/views.py +++ b/myproject/customers/views.py @@ -153,8 +153,8 @@ def api_search_customers(request): # Ищем по имени, email или телефону # Используем Q-объекты для OR условий - # Для email используем iexact (точное совпадение без учета регистра) - q_objects = Q(name__icontains=query) | Q(email__iexact=query) + # Для email используем icontains (поиск по части) - это позволит найти по любой части email + q_objects = Q(name__icontains=query) | Q(email__icontains=query) # Для телефона ищем по нормализованному номеру и по цифрам if phone_normalized: