Найти - Пользователи
Полная версия: база данных одна, моделей - много
Начало » Django » база данных одна, моделей - много
1
del3d
Имеется одна база данных и несколько приложений (блог, голосование, аутентификация..).
У каждого приложения имеется модель.ру..
Каждое приложение работает с таблицей `Users`.
Придется тогда для каждого приложения создавать модель для этой таблицы?
..или в данной ситуации лучше сделать один файл с моделями всех таблиц?
regall
del3d
Придется тогда для каждого приложения создавать модель для этой таблицы?
Если ваше приложение требует хранения данных в БД - да, вам придется создать необходимое количество моделей. Если нет - просто оставить пустой models.py.
del3d
..или в данной ситуации лучше сделать один файл с моделями всех таблиц?
не надо так делать. Каждое приложение имеет файл models.py, в котором должны определятся модели для этого приложения.
del3d
Каждое приложение работает с таблицей `Users`.
Модель создается 1 раз, по модели создается таблица в БД, а работу с этими моделями можете вести из любого модуля любого приложения.
del3d
Все правильно, но..
все приложения используют одну БД, где все таблицы связаны между собой..
и все приложения работают с одной и той же таблицей `Users`..
БД у меня уже создана и работает.. я переписываю к ней сам сайт (с PHP на Python)..
..вопрос в том, как же мне лучше описать модели, в одном файле или для каждого приложения создавать только необходимые ему модели?
regall
del3d
..вопрос в том, как же мне лучше описать модели, в одном файле или для каждого приложения создавать только необходимые ему модели?
Для каждого приложения создавать модели. Естественно, оно будет у вас работать в любом случае, но…, идея приложений в том, чтобы разделять логические части проекта, соответственно эти части включают в себя модели, представления и шаблоны. Кроме того, таким кодом будет проще управлять.
del3d
Все понял, кроме.. что делать с таблицей `Users`.. она мне нужна в каждом приложении.. где же создавать для нее модель? В каждом приложении (в models.py) делать для нее модель или в каком-то одном?
regall
del3d
Все понял, кроме.. что делать с таблицей `Users`.. она мне нужна в каждом приложении.. где же создавать для нее модель? В каждом приложении (в models.py) делать для нее модель или в каком-то одном?
Я так понял, в этой модели вы хотите хранить профиль пользователя. Если так, можно либо создать отдельное приложение (наверняка ж появится какой-нибудь личный кабинет, настройки, и т.д.), так что этот шаг будет оправдан, либо выбрать любое из приложений, и добавить туда пользователей, это уже не такое критичное решение. Также существует практика создания приложений типа “common”, или “мусорка”, куда складывают вот такие вот “не прийшей…” вещи. Практика в большинстве случаев порочная, так как за разрастанием этой мусорки обычно не следят. Так что делать такое можете только если уверены в своей дисциплине =).
del3d
Спасибо, regall за терпение )) и подробные ответы..
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB