Консолидация миграций и добавление unit_service

- Обновлены начальные миграции для всех приложений
- Удалены устаревшие миграции для единиц измерения и SKU
- Добавлен новый сервис unit_service.py для управления единицами
- Обновлены команды инициализации данных тенанта
This commit is contained in:
2026-01-03 12:09:31 +03:00
parent 030d5ad198
commit 208c6b55de
22 changed files with 272 additions and 355 deletions

View File

@@ -8,6 +8,7 @@ Management команда для инициализации всех систе
- Системные способы оплаты
- Склад по умолчанию
- Витрину по умолчанию
- Единицы измерения
Использование:
# Инициализация для конкретного тенанта
@@ -21,7 +22,7 @@ from django_tenants.utils import get_tenant_model, schema_context
class Command(BaseCommand):
help = 'Инициализация всех системных данных тенанта (клиент, статусы, способы оплаты, склад, витрина)'
help = 'Инициализация всех системных данных тенанта (клиент, статусы, способы оплаты, склад, витрина, единицы измерения)'
def add_arguments(self, parser):
parser.add_argument(

View File

@@ -1,4 +1,4 @@
# Generated by Django 5.0.10 on 2025-12-29 22:19
# Generated by Django 5.0.10 on 2026-01-03 08:35
import django.core.validators
import django.db.models.deletion

View File

@@ -93,6 +93,7 @@ class TenantOnboardingService:
from customers.models import Customer
from orders.services import OrderStatusService, PaymentMethodService
from inventory.services import WarehouseService, ShowcaseService
from products.services import UnitOfMeasureService
# 1. Системный клиент
logger.info("Создание системного клиента...")
@@ -133,6 +134,14 @@ class TenantOnboardingService:
showcase, created = ShowcaseService.get_or_create_default(warehouse)
logger.info(f"Витрина по умолчанию: {showcase.name}")
# 6. Единицы измерения
logger.info("Создание единиц измерения...")
if reset:
UnitOfMeasureService.reset_default_units()
else:
UnitOfMeasureService.create_default_units()
logger.info("Единицы измерения созданы")
# ==================== Приватные методы ====================
@classmethod