refactor: оптимизирована обработка цен и запросов в группах вариантов
Улучшения: - Исправлена отображение цены в таблице вариантов: заменено sale_price на actual_price чтобы правильно обрабатывать случаи когда скидка не установлена - Оптимизирован property in_stock: вычисляется в памяти из prefetched данных вместо отдельного запроса EXISTS к БД - Оптимизирован property price: использует actual_price (sale_price или price) вместо только sale_price, добавлена документация о требовании prefetch_related - Оптимизирован DetailView.get_context_data: используется кешированный prefetch_related вместо создания нового queryset для items - Исправлена AJAX функция _get_items_data: использует actual_price вместо sale_price Результат: - Исчезла проблема с выводом "None" вместо цены - Сокращено количество запросов к БД с 4-5 до 3 для страницы detail - Улучшена производительность при работе с группами вариантов 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -77,7 +77,7 @@
|
||||
<td class="fw-bold">{{ item.priority }}</td>
|
||||
<td>{{ item.product.name }}</td>
|
||||
<td><small class="text-muted">{{ item.product.sku }}</small></td>
|
||||
<td><strong>{{ item.product.sale_price }} руб.</strong></td>
|
||||
<td><strong>{{ item.product.actual_price }} руб.</strong></td>
|
||||
<td>
|
||||
{% if item.product.in_stock %}
|
||||
<span class="badge bg-success"><i class="bi bi-check-circle"></i> Да</span>
|
||||
|
||||
Reference in New Issue
Block a user