2009-08-10 7 views
5

Я собирался задать по существу тот же вопрос, что и this one. Однако, поскольку никто не ответил на это, я предполагаю, что вложенные встроенные формы невозможны.Возможны ли встроенные формы в Django Admin?

Так вместо этого я просто спросить, как вы бы подойти к разработке что-то вроде этого в Django:

розничной торговли продает одежду. Каждый дизайн свитера имеет номер стиля. Этот стиль доступен в разных тканях и разных цветах, поэтому вам нужен стол и Таблица продуктов для обработки каждого варианта свитера. (Например, там может быть синим хлопок свитера, синий нейлона свитера, зеленый хлопок свитера, и т.д ...) Это будет содержать Foreign Key в Ткани таблицы и таблицу Color.

Но нам нужны фотографии! Каждый вариант продукта может иметь одну или несколько картин. Поэтому мы добавляем таблицу с внешним ключом в таблицу продуктов.

Без вложенных встроенных линий единственный способ, которым я могу представить это в CMS, заключается в том, чтобы клиент сначала добавлял стиль вместе с подчиненными продуктами inline. Затем, когда это будет сделано, откройте таблицу продуктов и разрешите загрузку изображения в линию. (Возможно, удалив разрешение на добавление продуктов напрямую, чтобы они только редактировали существующие продукты.)

Но это вроде дрябло, вам не кажется?

Идеи приветствуются.

ответ

2

Я бы так сделал.

В одной модели содержится информация о продукте верхнего уровня. Затем у вас есть связанная таблица для информации о стиле/цвете, назовите ее ProductDetail - она ​​будет иметь внешние ключи для продукта, стиля, цвета и ткани, плюс изображение и, вероятно, поле SKU.

Тогда ваша форма импорта может использовать FK из ProductDetail в продукт, чтобы показать детали inline к основному продукту. Затем каждая строка имеет раскрывающийся список для стиля, цвета и ткани, и каждое из этих полей будет использовать виджет FK Django для выбора из существующих опций или вызова всплывающего окна для добавления нового. Затем поле изображения находится рядом с параметрами для каждой строки, поэтому оно специфично для этой индивидуальной комбинации.

Это работает?

+0

Спасибо Даниил. Вот как я это сделал на самом деле :) К сожалению, хотя мне пришлось отказаться от необходимости держать несколько изображений в строке ProductDetail. Плюс у меня есть 3 изображения в строке: эскиз, нормальный и высокий уровень. Это вызывает большой горизонтальный прокрутки. – joedevon

Смежные вопросы