Django ORM выражение для рекурсивного типа суммы?

Я делаю простое программное обеспечение PLM и для него необходима система рекурсивных компонентов.

В частности, я хотел бы узнать, есть ли способ выразить тип данных ниже с помощью Django ORM; если нет, то что будет лучшим обходным решением?

Component ::= Part
           | [Component] (or Set of Components)

Я думаю, что проблема распадается на два вопроса.

  1. Как выразить тип sum с помощью Django ORM
  2. Как выразить тип List с помощью ORM

Только для второго вопроса я использую две модели (или таблицы); одна для экземпляра списка, а другая для строк списков, которые имеют внешний ключ, созданный из экземпляра списка, чтобы указать, к какой модели он принадлежит.

Однако, кажется, что это не так полезно для данного случая; особенно учитывая запросы и формы. Каким будет наиболее близкое выражение типа данных выше в Django ORM?

Вернуться на верх