2341cf57c1774cc46367d967fd487b32700cf011
Добавлена система управления наличием товаров на трёх уровнях: 1. Product.in_stock (поле БД) - Булево значение: есть/нет в наличии - Автоматически обновляется при изменении Stock - Используется для быстрого поиска и фильтрации товаров 2. Сигналы для синхронизации (inventory/signals.py) - При изменении Stock → обновляется Product.in_stock - Логика: товар в наличии если есть Stock с quantity_available > 0 3. ProductVariantGroup.in_stock (свойство) - Вариант в наличии если хотя бы один из товаров в наличии - Динамически рассчитывается по Product.in_stock товаров в группе 4. ProductVariantGroup.price (свойство) - Цена по приоритету: берём цену товара с приоритетом 1, если он в наличии - Если никто не в наличии: берём максимальную цену из всех товаров - Возвращает Decimal или None если группа пуста Файлы: - myproject/products/models.py: добавлено поле in_stock и свойства в ProductVariantGroup - myproject/inventory/signals.py: добавлены сигналы для синхронизации - myproject/products/migrations/0003_add_product_in_stock.py: миграция для поля in_stock - VARIANT_STOCK_IMPLEMENTATION.md: полная документация архитектуры - QUICK_REFERENCE.md: быстрая справка по использованию Особенности: ✓ Система простая и элегантная (без костылей) ✓ Обратная совместимость не требуется ✓ Высокая производительность (индексирование, минимум JOIN'ов) ✓ Актуальные данные (сигналы гарантируют синхронизацию) ✓ Легко расширяемая (свойства можно менять без миграций) 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
Description
No description provided
Languages
Python
57%
HTML
32%
JavaScript
9.5%
CSS
1.1%
Shell
0.4%