Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 13, 2011 11:02:31

SergiK
От:
Зарегистрирован: 2011-06-13
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание таблиц "на лету".

Доброго времени суток)

Столкнулся с такой вот проблемой. На джанге написан(вернее не дописан) сайт, мне его нужно доделать. Это каталог продукции. Продукция разнообразная. Т.е. нельзя создать универсальную форму для добавления всех товаров. Суть вот в чем. Может кто знает, умеет ли жданга создавать таблицы в бд “на лету”? Гугл толкового ответа не дал. Вернее один способ есть - Dynamic models, но оно работает на версии 0.96 и для версии 1.х вроде как не годится.

Заранее извиняюсь, знаю что подобная тема уже была на форуме и я ее читал, но там так и не был дан ответ.



Офлайн

#2 Июнь 14, 2011 12:25:26

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Создание таблиц "на лету".

Это не нужно. То, что вы хотите можно сделать сразу, с помощью нескольких таблиц и без добавления таблиц “на лету”.

Отредактировано (Июнь 14, 2011 12:25:42)

Офлайн

#3 Июнь 14, 2011 13:45:14

SergiK
От:
Зарегистрирован: 2011-06-13
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание таблиц "на лету".

Ferroman, дело в том, что я так раньше делал, когда писал на php. А тут не доглядел, когда django выбирал для нового проекта. В принципе Вы правы. И как это точно сделать для моего проекта я уже придумал. Спасибо что ответили.



Офлайн

#4 Июнь 14, 2011 14:11:27

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Создание таблиц "на лету".

Так делать — не правильно в принципе. Безотносительно к тому, какой язык используете.

Отредактировано (Июнь 14, 2011 14:11:44)

Офлайн

#5 Июнь 15, 2011 15:35:55

jeltoesolnce
От:
Зарегистрирован: 2010-11-23
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание таблиц "на лету".

Это с точки зрения “Нормальных форм” может быть неправильно, но их уже шесть - предел - семь).



Офлайн

#6 Июнь 15, 2011 22:48:48

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Создание таблиц "на лету".

Тут даже не столько в нормальности дело, сколько в попытке удалить гланды через задний проход.

Офлайн

#7 Июнь 15, 2011 23:10:42

SergiK
От:
Зарегистрирован: 2011-06-13
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание таблиц "на лету".

Ferroman
Тут даже не столько в нормальности дело, сколько в попытке удалить гланды через задний проход.
Вы не правы. Существует спектр задач в которых без создания “на лету” таблиц бд не обойтись.



Офлайн

#8 Июнь 16, 2011 12:54:34

igor_belousov
От:
Зарегистрирован: 2011-06-16
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание таблиц "на лету".

Как я понимаю вам нужно на лету к готовой модели добавлять неограниченное к-во полей.

В Django есть такая возможность через admin.TabularInline.

вы можете добавлять в удобном вам виде поля





Отредактировано (Июнь 16, 2011 12:56:52)

Офлайн

#9 Июнь 16, 2011 15:02:42

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Создание таблиц "на лету".

SergiK
Существует. Спектр этот, мягко говоря, маленький. Ваша задача в этот спектр не попадает.

Офлайн

#10 Июнь 26, 2011 02:38:29

fth
От:
Зарегистрирован: 2010-07-26
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание таблиц "на лету".

Посмотрите в сторону документоориентированных БД (например Mongo DB и Couch DB). У них нет жёстко заданной структуры и поэтому вы можете пихать туда всё что душе угодно.

Ну или как вариант конвертировать информацию о товарах в json и уже его хранить в TextField, разумеется в такой реализации о SQL запросах придётся забыть.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version