Улучшения в моделях заказов и комплектов
## Изменения: ### 1. ProductKit - расчет цены для вариантов товаров - Добавлена обработка variant_group в методах расчета base_price - Теперь учитываются варианты товаров при расчете стоимости комплекта ### 2. DraftOrderService - упрощение логики автосохранения - Удалена проверка is_draft() при обновлении (позволяет обновлять заказы в других статусах) - Улучшена документация метода update_draft ### 3. Шаблоны и скрипты - Обновлены шаблоны форм создания/редактирования комплектов - Обновлены скрипты автосохранения 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -64,7 +64,7 @@ class DraftOrderService:
|
||||
@staticmethod
|
||||
def update_draft(order_id, user, data):
|
||||
"""
|
||||
Обновляет существующий черновик заказа.
|
||||
Обновляет существующий заказ (автосохранение).
|
||||
|
||||
Args:
|
||||
order_id (int): ID заказа
|
||||
@@ -76,14 +76,11 @@ class DraftOrderService:
|
||||
|
||||
Raises:
|
||||
Order.DoesNotExist: Если заказ не найден
|
||||
ValidationError: Если заказ не является черновиком или данные невалидны
|
||||
ValidationError: Если данные невалидны
|
||||
"""
|
||||
with transaction.atomic():
|
||||
order = Order.objects.select_for_update().get(pk=order_id)
|
||||
|
||||
if not order.is_draft():
|
||||
raise ValidationError("Можно обновлять только черновики заказов")
|
||||
|
||||
# Обновляем только переданные поля
|
||||
# ForeignKey поля требуют специальной обработки
|
||||
fk_fields = {
|
||||
|
||||
Reference in New Issue
Block a user