Где разместить общие таблицы базы данных на Django? - PullRequest
0 голосов
/ 23 марта 2011

Я пытаюсь начать с Django.

Я занимаюсь разработкой приложения.Это приложение называется «Каталог» и будет хранить информацию о веб-сайтах.

Я должен создать таблицу базы данных под названием «Пол», но это общая таблица базы данных, которую можно использовать в другом приложении.

Мой вопрос ... как справиться с такой ситуацией в Джанго?И в какую модель я должен положить эту таблицу базы данных?

С наилучшими пожеланиями,

Ответы [ 2 ]

1 голос
/ 23 марта 2011

В django вы (как правило) не создаете таблицы базы данных. Вы создаете модели и позволяете django ORM создавать таблицы для вас.

Чтобы не допустить наличия в вашей базе данных двух таблиц, называемых полами, django будет добавлять к названию модели префикс имени модели. Таким образом, если бы ваше приложение называлось foo, класс вашей модели был Gender, у вас было бы foo_gender. Но вам не нужно это знать.

Что касается конкретного случая Пола: я бы не стал хранить это в базе данных в специальной таблице. Они больше не создают новых полов. Если вам нужно сохранить поле, содержащее пол, просто используйте django.db.models.CharField с choices=(('M',"Male"),('F',"Female")). Или, если вы делаете это много, то создайте новое поле.

Если вам нужно что-то, чтобы иметь возможность динамически добавлять базу данных, то либо абстрагируйте ее в приложение для повторного использования, либо, как уже упоминалось, создайте приложение sundry / project / utils.

0 голосов
/ 23 марта 2011

Django на самом деле не предлагает вам места, где могут жить вещи, которые обычно используются во всем проекте. Я думаю, что наиболее распространенный подход для решения этой проблемы состоит в создании приложения-проекта, в котором хранятся такие важные для проекта вещи, как, например, модели, теги шаблонов или виджеты ...

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