feat(integrations): добавить поле primary_category и маппинг категорий для интеграций

Добавлена поддержка выбора основной категории (primary_category) для товаров и наборов, а также новая модель IntegrationCategoryMapping для связи категорий с внешними площадками. Теперь можно указать категорию товара, которая будет использоваться при экспорте на внешние площадки (Recommerce, WooCommerce и др.), с возможностью настройки маппинга категорий для каждого типа интеграции.
This commit is contained in:
2026-01-14 01:53:38 +03:00
parent 7fd361aaf8
commit 1fb280607a
14 changed files with 288 additions and 15 deletions

View File

@@ -48,9 +48,8 @@ def to_api_product(
data['name'] = product.name
if 'parent_category_sku' in fields:
# TODO: Добавить поле recommerce_category_sku в модель Product или Category
# Пока пытаемся взять из атрибута, если он есть
category_sku = getattr(product, 'recommerce_category_sku', None)
# Получаем категорию через primary_category или fallback на M2M categories
_, category_sku = product.get_category_for_integration('recommerce')
if category_sku:
data['parent_category_sku'] = category_sku