refactor: rename primary_category to external_category

This commit is contained in:
2026-01-14 02:59:11 +03:00
parent 1fb280607a
commit e7672588c6
12 changed files with 306 additions and 85 deletions

View File

@@ -207,15 +207,15 @@ class BaseProductEntity(models.Model):
verbose_name="Архивировано пользователем"
)
# Основная категория для интеграций
primary_category = models.ForeignKey(
# Внешняя категория для интеграций
external_category = models.ForeignKey(
'ProductCategory',
on_delete=models.SET_NULL,
null=True,
blank=True,
related_name='primary_%(class)ss',
verbose_name="Основная категория",
help_text="Используется для интеграций с внешними площадками"
related_name='external_%(class)ss',
verbose_name="Внешняя категория",
help_text="Категория для интеграций с внешними площадками (Recommerce, WooCommerce и др.)"
)
# Manager
@@ -281,7 +281,7 @@ class BaseProductEntity(models.Model):
Получить категорию товара для конкретной интеграции.
Приоритет:
1. primary_category (если указана и есть маппинг)
1. external_category (если указана и есть маппинг)
2. Первая категория из categories с существующим маппингом (если есть M2M)
Args:
@@ -292,14 +292,14 @@ class BaseProductEntity(models.Model):
"""
from integrations.models import IntegrationCategoryMapping
# Приоритет 1: primary_category
if self.primary_category:
# Приоритет 1: external_category
if self.external_category:
mapping = IntegrationCategoryMapping.objects.filter(
category=self.primary_category,
category=self.external_category,
integration_type=integration_type
).first()
if mapping:
return self.primary_category, mapping.external_category_sku
return self.external_category, mapping.external_category_sku
# Приоритет 2: первая категория из M2M (если есть)
if hasattr(self, 'categories'):