私はDjangoで手作りの(Postgres)データベースを使用しています。 "inspectdb"を使うと、自動的にモデルを作成することができました。問題は、いくつかのテーブルが(多対多関係の)複数の主キーを持ち、Djangoからアクセスできないということです。djangoで 'old'データベースを使用する
これらのテーブルにアクセスするにはどうすればよいですか?
私はDjangoで手作りの(Postgres)データベースを使用しています。 "inspectdb"を使うと、自動的にモデルを作成することができました。問題は、いくつかのテーブルが(多対多関係の)複数の主キーを持ち、Djangoからアクセスできないということです。djangoで 'old'データベースを使用する
これらのテーブルにアクセスするにはどうすればよいですか?
現在、DjangoのORMで複合主キーを使用する方法はありません(v1.0.2まで)。
私は3つしか解決策/回避策を考えることができます。
Djangoはmany-to-many relationshipsをサポートしています。ヘルパテーブルを使用してこの関係を管理する場合、ManyToManyFieldは、使用するテーブルを指定するthrough引数をとります。このように複雑なものをモデリングすることはできませんが、ほとんどの単純なアプリケーションには適しています。
+1:データベースを修正します。テーブルに複数の主キーが存在しないようにする必要があります。 –
@ S.Lott:Mmm、そのようなコメントは、自然対代理キーの議論全体をかき混ぜるよう求めているだけです。 – Powerlord
オプション3はおそらく最も簡単です...とにかく古いデータベースです –