Исправлен поиск по email - используем точное совпадение вместо содержит

Проблема: При поиске по email использовался icontains (содержит), что приводило
к неправильным результатам. Например, поиск по 'test@example.com' находил всех
клиентов с 'example.com' в email.

Решение: Изменить на email__iexact (точное совпадение без учета регистра).
Теперь поиск по email работает корректно:
- Ввод несуществующего email не найдёт ничего и предложит создать нового клиента
- Ввод существующего email найдёт только клиента с точным совпадением email

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-11 00:27:15 +03:00
parent 9b112dd1e5
commit ab840b2ff1

View File

@@ -153,7 +153,8 @@ def api_search_customers(request):
# Ищем по имени, email или телефону # Ищем по имени, email или телефону
# Используем Q-объекты для OR условий # Используем Q-объекты для OR условий
q_objects = Q(name__icontains=query) | Q(email__icontains=query) # Для email используем iexact (точное совпадение без учета регистра)
q_objects = Q(name__icontains=query) | Q(email__iexact=query)
# Для телефона ищем по нормализованному номеру и по цифрам # Для телефона ищем по нормализованному номеру и по цифрам
if phone_normalized: if phone_normalized: