Исправлена работа с formset товаров в форме заказа
Проблемы: - Отображались лишние пустые формы (extra=1) - Новые формы не инициализировали Select2 корректно - Неудобное удаление через checkbox Исправления: 1. forms.py: - Изменен OrderItemFormSet: extra=0, min_num=0 - Формы добавляются только через JavaScript 2. order_form.html: - Добавлен шаблон пустой формы (#empty-form-template) - Заменен checkbox "Удалить" на кнопку с иконкой - Полностью переписана логика добавления/удаления форм - Добавлена валидация: нельзя удалить единственную позицию - Скрытые формы (DELETE=true) визуально помечаются - Автодобавление первой формы при пустом formset - Валидация перед отправкой: минимум 1 товар Результат: - При создании заказа отображается только 1 пустая форма - Кнопка "Добавить товар" корректно создает новые формы - Select2 работает в каждой новой форме - Кнопка "Удалить" работает корректно - Единственную позицию удалить нельзя 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -149,10 +149,10 @@ OrderItemFormSet = inlineformset_factory(
|
||||
Order,
|
||||
OrderItem,
|
||||
form=OrderItemForm,
|
||||
extra=1, # Одна пустая форма для добавления
|
||||
extra=0, # Без пустых форм (будем добавлять через JavaScript)
|
||||
can_delete=True,
|
||||
min_num=1, # Минимум 1 товар в заказе
|
||||
validate_min=True,
|
||||
min_num=0, # Минимум 0 товаров (валидация на уровне бизнес-логики)
|
||||
validate_min=False,
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user