Djangoプロジェクトの一部ではないデータベーステーブルからデータを選択したいとします。私は、設定ファイルにデータベース接続情報を追加し、私はそれに対してデータをプルするために生のSQLクエリを行うことができます。しかし、私はそのテーブルのモデルを作成し、他のDjangoモデルデータと同じようにデータにアクセスできるようにしたいと思います。Django:別のデータベースからデータを取得する
これは可能ですか?私はその文書を見つけることができます。
Djangoプロジェクトの一部ではないデータベーステーブルからデータを選択したいとします。私は、設定ファイルにデータベース接続情報を追加し、私はそれに対してデータをプルするために生のSQLクエリを行うことができます。しかし、私はそのテーブルのモデルを作成し、他のDjangoモデルデータと同じようにデータにアクセスできるようにしたいと思います。Django:別のデータベースからデータを取得する
これは可能ですか?私はその文書を見つけることができます。
Django: Multiple Databasesページでは、このトピックに関する良い情報が含まれています。 settings.pyでデータベースを設定したら、.using()
を使用して、照会したいデータベースを指定することができます。ドキュメントから
例:
>>> # This will run on the 'default' database.
>>> Author.objects.all()
>>> # So will this.
>>> Author.objects.using('default').all()
>>> # This will run on the 'other' database.
>>> Author.objects.using('other').all()
あなたは自分のクエリを行うために
SomeObject.objects.using('database_name').all()
を使用する必要があり、必ず
その後、著者は何ですか? Authorモデルはmodels.pyで定義されていません。 – user1881957
この場合の 'Author'は、照会したいオブジェクトのプレースホルダーです。私は単に、リンクされたページのドキュメントの例をコピーしました。任意のオブジェクトを使用できます。 –
このような生のクエリを実行する方法を教えてもらえますか?例:Author.objects.using( 'other')。raw( "Select * from table1") –