Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 29, 2010 14:48:08

del3d
От:
Зарегистрирован: 2010-03-12
Сообщения: 87
Репутация: +  0  -
Профиль   Отправить e-mail  

база данных одна, моделей - много

Имеется одна база данных и несколько приложений (блог, голосование, аутентификация..).
У каждого приложения имеется модель.ру..
Каждое приложение работает с таблицей `Users`.
Придется тогда для каждого приложения создавать модель для этой таблицы?
..или в данной ситуации лучше сделать один файл с моделями всех таблиц?



Офлайн

#2 Ноя. 29, 2010 14:51:38

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

база данных одна, моделей - много

del3d
Придется тогда для каждого приложения создавать модель для этой таблицы?
Если ваше приложение требует хранения данных в БД - да, вам придется создать необходимое количество моделей. Если нет - просто оставить пустой models.py.
del3d
..или в данной ситуации лучше сделать один файл с моделями всех таблиц?
не надо так делать. Каждое приложение имеет файл models.py, в котором должны определятся модели для этого приложения.
del3d
Каждое приложение работает с таблицей `Users`.
Модель создается 1 раз, по модели создается таблица в БД, а работу с этими моделями можете вести из любого модуля любого приложения.



Офлайн

#3 Ноя. 29, 2010 15:35:49

del3d
От:
Зарегистрирован: 2010-03-12
Сообщения: 87
Репутация: +  0  -
Профиль   Отправить e-mail  

база данных одна, моделей - много

Все правильно, но..
все приложения используют одну БД, где все таблицы связаны между собой..
и все приложения работают с одной и той же таблицей `Users`..
БД у меня уже создана и работает.. я переписываю к ней сам сайт (с PHP на Python)..
..вопрос в том, как же мне лучше описать модели, в одном файле или для каждого приложения создавать только необходимые ему модели?



Офлайн

#4 Ноя. 29, 2010 15:38:15

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

база данных одна, моделей - много

del3d
..вопрос в том, как же мне лучше описать модели, в одном файле или для каждого приложения создавать только необходимые ему модели?
Для каждого приложения создавать модели. Естественно, оно будет у вас работать в любом случае, но…, идея приложений в том, чтобы разделять логические части проекта, соответственно эти части включают в себя модели, представления и шаблоны. Кроме того, таким кодом будет проще управлять.



Офлайн

#5 Ноя. 29, 2010 15:55:06

del3d
От:
Зарегистрирован: 2010-03-12
Сообщения: 87
Репутация: +  0  -
Профиль   Отправить e-mail  

база данных одна, моделей - много

Все понял, кроме.. что делать с таблицей `Users`.. она мне нужна в каждом приложении.. где же создавать для нее модель? В каждом приложении (в models.py) делать для нее модель или в каком-то одном?



Офлайн

#6 Ноя. 29, 2010 15:59:28

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

база данных одна, моделей - много

del3d
Все понял, кроме.. что делать с таблицей `Users`.. она мне нужна в каждом приложении.. где же создавать для нее модель? В каждом приложении (в models.py) делать для нее модель или в каком-то одном?
Я так понял, в этой модели вы хотите хранить профиль пользователя. Если так, можно либо создать отдельное приложение (наверняка ж появится какой-нибудь личный кабинет, настройки, и т.д.), так что этот шаг будет оправдан, либо выбрать любое из приложений, и добавить туда пользователей, это уже не такое критичное решение. Также существует практика создания приложений типа “common”, или “мусорка”, куда складывают вот такие вот “не прийшей…” вещи. Практика в большинстве случаев порочная, так как за разрастанием этой мусорки обычно не следят. Так что делать такое можете только если уверены в своей дисциплине =).



Офлайн

#7 Ноя. 30, 2010 10:57:05

del3d
От:
Зарегистрирован: 2010-03-12
Сообщения: 87
Репутация: +  0  -
Профиль   Отправить e-mail  

база данных одна, моделей - много

Спасибо, regall за терпение )) и подробные ответы..



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version