Форум сайта python.su
Доброго времени суток)
Столкнулся с такой вот проблемой. На джанге написан(вернее не дописан) сайт, мне его нужно доделать. Это каталог продукции. Продукция разнообразная. Т.е. нельзя создать универсальную форму для добавления всех товаров. Суть вот в чем. Может кто знает, умеет ли жданга создавать таблицы в бд “на лету”? Гугл толкового ответа не дал. Вернее один способ есть - Dynamic models, но оно работает на версии 0.96 и для версии 1.х вроде как не годится.
Заранее извиняюсь, знаю что подобная тема уже была на форуме и я ее читал, но там так и не был дан ответ.
Офлайн
Это не нужно. То, что вы хотите можно сделать сразу, с помощью нескольких таблиц и без добавления таблиц “на лету”.
Отредактировано (Июнь 14, 2011 12:25:42)
Офлайн
Ferroman, дело в том, что я так раньше делал, когда писал на php. А тут не доглядел, когда django выбирал для нового проекта. В принципе Вы правы. И как это точно сделать для моего проекта я уже придумал. Спасибо что ответили.
Офлайн
Так делать — не правильно в принципе. Безотносительно к тому, какой язык используете.
Отредактировано (Июнь 14, 2011 14:11:44)
Офлайн
Это с точки зрения “Нормальных форм” может быть неправильно, но их уже шесть - предел - семь).
Офлайн
Тут даже не столько в нормальности дело, сколько в попытке удалить гланды через задний проход.
Офлайн
FerromanВы не правы. Существует спектр задач в которых без создания “на лету” таблиц бд не обойтись.
Тут даже не столько в нормальности дело, сколько в попытке удалить гланды через задний проход.
Офлайн
Как я понимаю вам нужно на лету к готовой модели добавлять неограниченное к-во полей.
В Django есть такая возможность через admin.TabularInline.
вы можете добавлять в удобном вам виде поля
Отредактировано (Июнь 16, 2011 12:56:52)
Офлайн
SergiK
Существует. Спектр этот, мягко говоря, маленький. Ваша задача в этот спектр не попадает.
Офлайн
Посмотрите в сторону документоориентированных БД (например Mongo DB и Couch DB). У них нет жёстко заданной структуры и поэтому вы можете пихать туда всё что душе угодно.
Ну или как вариант конвертировать информацию о товарах в json и уже его хранить в TextField, разумеется в такой реализации о SQL запросах придётся забыть.
Офлайн