feat(discounts, orders): рефакторинг системы скидок - единый источник правды

- Добавлен combine_mode в форму создания/редактирования скидок
- Добавлена колонка "Объединение" в список скидок с иконками
- Добавлен фильтр по режиму объединения скидок
- Добавлена валидация: только одна exclusive скидка на заказ
- Удалены дублирующие поля из Order и OrderItem:
  - applied_discount, applied_promo_code, discount_amount
- Скидки теперь хранятся только в DiscountApplication
- Добавлены свойства для обратной совместимости

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-11 13:46:02 +03:00
parent cd758a0645
commit c070e42cab
9 changed files with 192 additions and 112 deletions

View File

@@ -0,0 +1,33 @@
# Generated by Django 5.0.10 on 2026-01-11 10:39
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('orders', '0003_order_applied_discount_order_applied_promo_code_and_more'),
]
operations = [
migrations.RemoveField(
model_name='order',
name='applied_discount',
),
migrations.RemoveField(
model_name='order',
name='applied_promo_code',
),
migrations.RemoveField(
model_name='order',
name='discount_amount',
),
migrations.RemoveField(
model_name='orderitem',
name='applied_discount',
),
migrations.RemoveField(
model_name='orderitem',
name='discount_amount',
),
]