Работа с каталогом элементов с переменными атрибутами
Я новичок в Django и у меня скорее концептуальный вопрос (поэтому у меня пока нет кода). В настоящее время я пытаюсь собрать каталог товаров через модель Item. Одно из полей, которое я имею в этой модели - item_type.
Каждый тип_элемента будет иметь различные соответствующие свойства (которые в данном случае будут полями). Например, если это насос, то меня интересует номинальное давление, а если это котел, то меня интересует тепловая мощность.
Каким образом лучше всего подойти к такому делу?
Я думал о двух решениях:
- Добавление всех возможных свойств в модель Item и заполнение только релевантных. Однако это создаст проблему, поскольку я не хочу показывать пользователю все эти поля при создании нового элемента через форму. В идеале я хотел бы иметь только несколько общих полей (например, название предмета), а затем, после выбора типа предмета, форма расширяется соответствующими полями этого типа компонента. Однако я не уверен, как именно я смогу этого добиться, и мои поиски не дали никаких результатов. .
- Создание отдельной модели элемента для каждого типа элемента. Таким образом, имея PumpItem и BoilerItem в качестве моделей, определив только соответствующие входы. Хотя это довольно просто, у меня более 80 типов элементов, и такое решение не кажется наиболее устойчивым в долгосрочной перспективе.
Надеюсь, что проблема была объяснена достаточно ясно. Любой вклад будет высоко оценен!