Уведомления

Группа в Telegram: @pythonsu

#1 Март 10, 2012 20:35:55

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

Работа со своей бд.

Только начал изучать Django, поэтому почти ничего не знаю. Вопрос такой, есть у меня уже готовая бд с таблицами. Как из Django с ней работать? Желательно с ORM.



Офлайн

#2 Март 11, 2012 00:09:34

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Работа со своей бд.

Выдачу гугла по запросу “existing database django” смотрели?



Офлайн

#3 Март 11, 2012 04:38:59

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Работа со своей бд.

plusplus
Только начал изучать Django, поэтому почти ничего не знаю. Вопрос такой, есть у меня уже готовая бд с таблицами. Как из Django с ней работать? Желательно с ORM.
Написать модели для имеющихся таблиц и работать.



Офлайн

#4 Март 11, 2012 06:46:50

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

Работа со своей бд.

fata1ex
Выдачу гугла по запросу “existing database django” смотрели?
Я гуглил own database django =) Не сразу, но нашел то, что надо: “python manage.py inspectdb > models.py”, может кому пригодится.



Офлайн

#5 Апрель 6, 2012 15:44:54

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Работа со своей бд.

Я гуглил own database django =) Не сразу, но нашел то, что надо: “python manage.py inspectdb > models.py”, может кому пригодится.

Спасибо, косвенно помогло. Перенес весь проект в другой каталог на windows и встала проблема: перестало видеть базу. Запустил manage.py inspectdb он мне показал синтаксис моделей для всех полей в моей базе, я их поглядел и сообразил, что имя каталога приложения должно совпадать с префиксом таблицы в базе данных.

Правильный пример:
blog-каталог приложения
BLOG_BLOGPOST-имя таблицы в базе данных

Неправильный пример(как было у меня):
blogContent-каталог приложения
BLOG_BLOGPOST-таблица старого приложения(заполнена и НЕ подключалась)
BLOGCONTENT_BLOGPOST-таблица текущего приложения(НЕ заполнена и подключалась)

Офлайн

#6 Апрель 6, 2012 16:42:08

Chern
От: Киев
Зарегистрирован: 2010-09-15
Сообщения: 71
Репутация: +  3  -
Профиль   Отправить e-mail  

Работа со своей бд.

buddha
имя каталога приложения должно совпадать с префиксом таблицы в базе данных.

Необязательно. В Meta можно указать параметр db_table с именем рабочей таблицы



Офлайн

#7 Апрель 7, 2012 13:06:07

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Работа со своей бд.

Необязательно. В Meta можно указать параметр db_table с именем рабочей таблицы


Т.е. внутри модуля models.py , в каждом классе (название таблицы которого нужно изменить), в подклассе Meta определяем имя таблицы атрибутом db_table='' (к которой хотим привязать класс)???

А проблем не бует с тем, что в базе будут разные таблицы?

Офлайн

#8 Апрель 7, 2012 15:11:37

Chern
От: Киев
Зарегистрирован: 2010-09-15
Сообщения: 71
Репутация: +  3  -
Профиль   Отправить e-mail  

Работа со своей бд.

buddha
А проблем не бует с тем, что в базе будут разные таблицы?

Несовсем понял, точнее совсем не понял вопроса. С чего бы им быть разными?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version