Форум сайта python.su
Имеется одна база данных и несколько приложений (блог, голосование, аутентификация..).
У каждого приложения имеется модель.ру..
Каждое приложение работает с таблицей `Users`.
Придется тогда для каждого приложения создавать модель для этой таблицы?
..или в данной ситуации лучше сделать один файл с моделями всех таблиц?
Офлайн
del3dЕсли ваше приложение требует хранения данных в БД - да, вам придется создать необходимое количество моделей. Если нет - просто оставить пустой models.py.
Придется тогда для каждого приложения создавать модель для этой таблицы?
del3dне надо так делать. Каждое приложение имеет файл models.py, в котором должны определятся модели для этого приложения.
..или в данной ситуации лучше сделать один файл с моделями всех таблиц?
del3dМодель создается 1 раз, по модели создается таблица в БД, а работу с этими моделями можете вести из любого модуля любого приложения.
Каждое приложение работает с таблицей `Users`.
Офлайн
Все правильно, но..
все приложения используют одну БД, где все таблицы связаны между собой..
и все приложения работают с одной и той же таблицей `Users`..
БД у меня уже создана и работает.. я переписываю к ней сам сайт (с PHP на Python)..
..вопрос в том, как же мне лучше описать модели, в одном файле или для каждого приложения создавать только необходимые ему модели?
Офлайн
del3dДля каждого приложения создавать модели. Естественно, оно будет у вас работать в любом случае, но…, идея приложений в том, чтобы разделять логические части проекта, соответственно эти части включают в себя модели, представления и шаблоны. Кроме того, таким кодом будет проще управлять.
..вопрос в том, как же мне лучше описать модели, в одном файле или для каждого приложения создавать только необходимые ему модели?
Офлайн
Все понял, кроме.. что делать с таблицей `Users`.. она мне нужна в каждом приложении.. где же создавать для нее модель? В каждом приложении (в models.py) делать для нее модель или в каком-то одном?
Офлайн
del3dЯ так понял, в этой модели вы хотите хранить профиль пользователя. Если так, можно либо создать отдельное приложение (наверняка ж появится какой-нибудь личный кабинет, настройки, и т.д.), так что этот шаг будет оправдан, либо выбрать любое из приложений, и добавить туда пользователей, это уже не такое критичное решение. Также существует практика создания приложений типа “common”, или “мусорка”, куда складывают вот такие вот “не прийшей…” вещи. Практика в большинстве случаев порочная, так как за разрастанием этой мусорки обычно не следят. Так что делать такое можете только если уверены в своей дисциплине =).
Все понял, кроме.. что делать с таблицей `Users`.. она мне нужна в каждом приложении.. где же создавать для нее модель? В каждом приложении (в models.py) делать для нее модель или в каком-то одном?
Офлайн
Спасибо, regall за терпение )) и подробные ответы..
Офлайн