feat: Добавлены команды управления данными тенантов и исправлены фильтры по статусу товаров
Добавлено: - Команда clear_tenant_data для полной очистки данных тенанта без удаления схемы * Очищает все таблицы через TRUNCATE CASCADE * Сбрасывает ID-последовательности * Сохраняет схему БД и запись Client * Поддержка флага --noinput для автоматизации - Команда init_tenant_data для инициализации системных данных тенанта * Создаёт системного клиента (АНОНИМНЫЙ ПОКУПАТЕЛЬ для POS) * Создаёт 8 системных статусов заказов * Создаёт 5 системных способов оплаты * Поддержка флага --reset для пересоздания данных Исправлено: - Заменены устаревшие фильтры is_active на status='active' для Product и ProductKit * products/views/category_views.py: исправлены фильтры в build_category_tree и get_context_data * products/services/kit_pricing.py: исправлены фильтры при получении товаров из variant_group * products/models/kits.py: исправлен фильтр в get_available_products * Устранена ошибка FieldError при работе со списком категорий Улучшено: - Команда clear_tenant_data теперь предлагает пользователю инициализировать системные данные после очистки - Добавлена детальная информация о процессе очистки и инициализации данных
This commit is contained in:
@@ -112,13 +112,13 @@ class ProductCategoryListView(LoginRequiredMixin, ListView):
|
||||
result.append(tree_item)
|
||||
|
||||
# 2. Добавляем активные товары этой категории (отсортированные по имени)
|
||||
products = category.products.filter(is_active=True).order_by('name')
|
||||
products = category.products.filter(status='active').order_by('name')
|
||||
for product in products:
|
||||
product_item = TreeItem(product, 'product', depth + 1, category.pk)
|
||||
result.append(product_item)
|
||||
|
||||
# 3. Добавляем активные наборы этой категории (отсортированные по имени)
|
||||
kits = category.kits.filter(is_active=True).order_by('name')
|
||||
kits = category.kits.filter(status='active').order_by('name')
|
||||
for kit in kits:
|
||||
kit_item = TreeItem(kit, 'kit', depth + 1, category.pk)
|
||||
result.append(kit_item)
|
||||
@@ -234,8 +234,8 @@ class ProductCategoryDetailView(LoginRequiredMixin, DetailView):
|
||||
# Получаем дочерние категории
|
||||
context['children_categories'] = self.object.children.filter(is_active=True)
|
||||
# Получаем товары в категории
|
||||
context['products'] = self.object.products.filter(is_active=True)[:20]
|
||||
context['products_count'] = self.object.products.filter(is_active=True).count()
|
||||
context['products'] = self.object.products.filter(status='active')[:20]
|
||||
context['products_count'] = self.object.products.filter(status='active').count()
|
||||
return context
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user