Feature: Добавлены методы получения суммы заказов клиента
Добавлены методы в модель Customer для расчета суммы успешных заказов: - get_successful_orders_total() - гибкий метод с фильтрацией по датам - get_last_year_orders_total() - сумма за последний год Удалено устаревшее поле total_spent: - Методы предоставляют более точные и актуальные данные - Используют агрегацию на уровне БД для производительности Обновлен UI карточки клиента: - Отображается сумма всех успешных заказов - Отображается сумма заказов за последний год - Убрана колонка total_spent из списка клиентов Изменения: - customers/models.py: добавлены методы, удалено поле total_spent - customers/views.py: добавлен расчет сумм в контекст - customers/templates: обновлены шаблоны - customers/admin.py: удалены упоминания total_spent - Создана миграция 0005_remove_total_spent 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -122,6 +122,12 @@ def customer_detail(request, pk):
|
||||
)
|
||||
refund_amount = refund_amount_result['total_refund'] or Decimal('0')
|
||||
|
||||
# Сумма всех успешных заказов
|
||||
total_orders_sum = customer.get_successful_orders_total()
|
||||
|
||||
# Сумма успешных заказов за последний год
|
||||
last_year_orders_sum = customer.get_last_year_orders_total()
|
||||
|
||||
# История транзакций кошелька (последние 20)
|
||||
from .models import WalletTransaction
|
||||
wallet_transactions = WalletTransaction.objects.filter(
|
||||
@@ -141,6 +147,8 @@ def customer_detail(request, pk):
|
||||
'refund_amount': refund_amount,
|
||||
'wallet_transactions': wallet_transactions,
|
||||
'orders_page': orders_page,
|
||||
'total_orders_sum': total_orders_sum,
|
||||
'last_year_orders_sum': last_year_orders_sum,
|
||||
}
|
||||
return render(request, 'customers/customer_detail.html', context)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user