А набор категорий товара и соответственно набор атрибутов товара лежит в промежуточной таблице между категориями и товарами . Это же даёт возможность менять сортировку категорий в товаре а значит и порядок вывода групп атрибутов
Рекурсивно лишь дерево категорий. Жсон только в атрибутах товара
Ну, не жысоны, а категории. Идея в том, что ты будешь иметь что то типа def traversal(lst, category): if condition: do action else: traversal(condition_st, category)