Предположим, у меня есть модель под названием 'SysApp
'. Каждая система имеет 5 документов. Каждый документ имеет поля:Каков наилучший подход к созданию полей моделей моделей, похожих на список в Django?
- Название
- URL для файла (внешний URL)
- Описание
Вместо того, чтобы определять несколько полей, как
- title_1,
- url_1,
- description_1,
- title_2,
- url_2,
- description_2 (Запрограммированный подход)
есть лучший способ справиться с этим типом случая использования?
Один из способов сделать - создать модель хранения каждого документа, а затем SysApp будет ссылаться на каждый документ, используя ForeignKey
. Однако мне еще нужно создать поле, например, document_1, document_2
и т. Д. Также было бы довольно сложно управлять редакторами, когда есть 100+ SysApp и 3-400 + документы.
Возможно ли управлять этими полями, как список или словарь?
Спасибо
Ваш второй подход правильный, но вместо ForeignKey (от 1 до многих) вы должны исследовать отношения ManyToMany и 'FormSet'. – Selcuk
Спасибо @ Kjjassy. Одно я мог бы не сказать ясно. Документы вряд ли будут разделены. например, «установочный документ», это только для 1 SysApp. В этом случае при использовании ForeignKey (или M2M) можно упростить некоторые из кода, но в конце концов у меня есть репозиторий элемента «document», который большинство из них устарел (ни один редактор не удаляет связанный документ перед добавлением нового :( – DSO