8

Django 管理者を使用して既存のデータベースを参照したいのですが、私または Django がこのデータベースに変更を加えないようにしたいと考えています。

このため、2 つのデータベースを使用する必要があると思います。1 つは読み取り専用で、もう 1 つは他の Django テーブルを格納するデータベースで、もう 1 つは読み取り/書き込みアクセスが可能です。

複数のデータベースを定義する方法は知っていますsettings.pyが、django に特定のモデルに別のデータベースを使用させる方法はわかりません。

4

2 に答える 2

2

の回答の補足として、manjiデータベース VIEW を使用して、一部のテーブルを読み取り専用として公開することもできます。Django で VIEW を使用することは、非常に複雑なルックアップを Django モデルとして公開できる強力な手法です。

あなたの場合、たとえば、元のデータベースから関連するテーブルをミラーリングする VIEW を使用して追加のデータベースを作成し、それらのテーブルに対して管理者のみを有効にして追加の Django プロジェクトを作成することができます。

于 2011-06-09T15:52:55.980 に答える
1

Automatic database routing各モデルの読み取り/書き込み操作データベースを構成するために使用できます

または

クエリセットの引数を使用して、管理インターフェイスの読み取り/書き込み操作データベース(Django の管理インターフェイスで複数のデータベースを公開する)をカスタマイズすることもできます。using

どちらの場合も、読み取り/書き込みデータベースをデフォルトとして設定し (django モデルはそこに保存されます)、クエリをモデルの読み取り専用データベースに明示的にルーティングします。

于 2011-06-09T13:01:19.057 に答える