Делаю магазин на Django. В магазине есть категории: Обувь, рубашки, трусы, итд. Для каждой категории существуют свои параметры размеров: для обуви - длина стопы, для рубашек - объем груди, объем талии, длина рукава, для штанов - объем бедра и объем талии. Следовательно в модели категории нужно каким-то образом организовать ввод необходимых размерных параметров для товара, а в модели товара заполнять эти данные и выводить на страницу товара в таблице как на рисунке.
Как правильно организовать модели?
Пробовал использовать EAV:
1. таблица Категории.
2. таблица ПризнакиКатегорий.
- внешний ключ к Категории;
3. таблица ЗначенияПризнаков.
- внешний ключ к ПризнакиКатегорий;
- внешний ключ к Товары;
- значение
Однако, в таком случае для товара получается плоский список значений, например:
Товар рубашка: длина рукава - 50см, обхват груди - 50см, обхват плеч - 100см, а никак не двумерная таблица с размерами.
Единственный понятный вариант вижу - использовать таблицу, содержащую все возможные характеристики товаров, и заполнять только те, которые нужны для данного товара, а во view отбирать только заполненные поля из таблицы для нужного товара и передавать из в шаблон. Но это какой-то жуткий монстр получается, а не таблица, и при добавлении новой категории придется вручную дописывать в модель новые характеристики.
Помогите, пожалуйста, куда копать?