Использование «старой» базы данных с django - PullRequest
6 голосов
/ 24 марта 2009

Я использую базу данных, созданную вручную (Postgres) с Django. С помощью «inspectdb» я смог автоматически создать модель для него. Проблема в том, что некоторые таблицы имеют несколько первичных ключей (для отношений «многие ко многим»), и они не доступны через Django.

Как лучше всего получить доступ к этим таблицам?

Ответы [ 2 ]

4 голосов
/ 24 марта 2009

В настоящее время нет возможности использовать составные первичные ключи в ORM Django (до версии 1.0.2).

Я могу думать только о трех решениях / обходных путях:

  1. На github есть форк django с композитным pk-патчем, который вы можете попробовать.
  2. Вы можете использовать SQLAlchemy вместе с Django.
  3. Необходимо добавить одно поле первичного ключа к этим таблицам.
0 голосов
/ 24 марта 2009

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

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