Оптимизация производительности: устранение 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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user