Есть следующие таблицы и соотв. модели:
* types (id,title) - типы товаров
* products (id,title,type_id) - товары
* groups (id,title,type_id) - группы свойств
* properties (id,title,group_id) - свойства групы
* product_properties(product_id,property_id,value) - таблица связка продуктов свойств и их значений
types - это “телефон”, “холодильник”, “монитор” и пр. У каждого такого типа свои группы свойств (габариты, камера..) и собтвенно сами свойства (ширина, высота, разрешение).
Хочу в админке, на странице добавления/редактирования товара разместить такой вот SELECT BOX ‘type’ и показывать ниже для заполнения группы (просто заголовок) и их свойства. Примерно так.
— Группа А
* свойство - INPUT
* свойство - INPUT
* свойство - INPUT
— Группа Б
* свойство - INPUT
* свойство - INPUT
Думаю как это можно сделать?
Реализовал на jQuery, в вьюшку добавил метод getGroupsByType и передаю туда через ajax id SELECT box'a с типом, в ответ - приведенная выше картинка. Сделал и узнал про formsets… Ведь нужно как то валиадацию делать, редактирование и пр. Поэтому текущая реализация отменяется.
Подскажите как такое реализовать через formset'ы? Т.е. нужно чтобы эти formset'ы менялись в зависимости какой тип выберут в SELECT box'e type. Т.е. доставались из вьюшки.
Вот если бы не нужно было группировать эти формсеты (по группам свойств) - то все вроде понятно. Через Ajax дергаем метод во вьюшке который возвращает формсет со свойствами из нужной группы.
А вот чтобы формсеты групировались и вверху каждой группы было написано название группы этих свойств - что то никак не одолею.
Подскажите в какую сторону копать.
Спасибо.