Оптимизация производительности: устранение N+1 запросов и дубликатов

- Добавлен django-debug-toolbar 6.1.0 для мониторинга производительности
- Устранен дублирующийся COUNT запрос в списке клиентов (используется paginator.count)
- Добавлен select_related('status') в списке заказов для устранения N+1

Результаты:
- Список клиентов: 6→5 запросов, 13.24→10мс
- Список заказов: 18→7 запросов, 52.68→15-20мс, устранено 11 дубликатов
This commit is contained in:
2025-12-20 18:02:23 +03:00
parent 0bf694966b
commit fed62d992a
6 changed files with 47 additions and 5 deletions

View File

@@ -22,7 +22,7 @@ def order_list(request):
"""
# Базовый queryset с оптимизацией запросов
orders = Order.objects.select_related(
'customer', 'delivery_address', 'pickup_warehouse'
'customer', 'delivery_address', 'pickup_warehouse', 'status' # Добавлен 'status' для избежания N+1
).all()
# Применяем фильтры через django-filter