У меня есть база данных, подобная этой:
- Группа
- ConditionGroup
- Имеет ForeignKey (Group), только если это «основная группа условий»
- Имеет ForeignKey (ConditionGroup), если он зависит от другой группы (например, дерево, а сверху всегда основная)
- Условие
- ForeignKey (ConditionGroup)
Примечание: если у ConditionGroup есть условия, у нее не может быть никаких подусловий
пример:
[(A > B) AND (A > C)] OR [(A < B) AND [(A < C) and (B > C)]
может быть Группой (имеющей основное GroupCondition) [(A > B) AND (A > C)]
является GroupCondition, зависящим непосредственно от GroupCondition (A > B)
является Условием
создание группы без одновременного создания групп условий и условий не имеет смысла, поэтому я пытаюсь сделать это динамически с помощью inline_formset_factory, но мне трудно узнать, кто является родителем для условия GroupCondition и условия (в настоящий момент все они связаны с та же форма управления.
Есть ли способ поместить внутрь формы фабрику форм (даже из самой формы)?
Иначе я собираюсь скрытый ввод это будет хранить идентификатор родителя и выяснить его из представления, но я нахожу этот путь не так чисто