производитель товаров или владелец торговой марки
Brand:
name
...
Каталог, как тег товара
То что помечено знаками вопроса странно называется или не имеет смысла
Если каталог = теги, то они не должны иметь вложенности
Теги плоская структура
Иерархия сама по себе геморная вещь
Реализация иерархии своими силами - требует неплохих навыков
Catalog:
name
name_lang2
description
description_lang2
meta_description
meta_description_lang2
meta_keywords
meta_keywords_lang2
parent -- ???
status --???
top --???
left_key
right_key
Товар
Product:
mpn -- Manufacturer part number
mpn_fix -- ???
catalog = ManyToMany(Catalog)
brand = ForeignKey(Brand)
image
-- для ускорения, после импорта прайса от поставщика,
-- можно перекалькулировать поля
price
price_median
....
Поставщик
Если поставщик имеет несколько складов, то данная таблица будет складом,
а таблица поставщиков отдельно
от таблицы Склад будет идти связь по FK к поставщику
Supplier:
name
name_lang2
address
phone
website
...
Product_price:
supplier = ForeignKey(Supplier)
product = ForeignKey(Product)
price
-- вариант с сохранением истории цен
date_time