Post
複数の MongoDB データベース (db1、db2、db3、...) にまたがるモデルを持つ Flask アプリがあるため、さまざまなデータベースにクエリを実行できる必要があります。エクステンション
を使用しています。Flask-MongoEngine
My__init__.py
には次の行が含まれています:
db = MongoEngine(app)
とconfig.py
I have:
MONGODB_SETTINGS = {'DB': 'db1'}
私は成功せずに次のことを試しました:
- オブジェクトの
connection
パラメーターを次のよう に変更します。何も変更されませんでした。実行は元のデータベースで引き続き実行されました ( )。db
db.connection = mongoengine.connect('db2')
post = Post.objects.all()
db1
- 次のように
Post
クラスにエイリアスを作成します。 次に、オブジェクトのパラメーターを次のように変更しました。 これにより、確かにへの接続が作成されますが、別のデータベースに変更できませんでした。meta
'db_alias': 'db1'
connection
db
db.connection = mongoengine.connect('db2', alias='db1')
db2
- に設定
MONGODB_SETTINGS
し{'DB': 'db2'}
てからdb = MongoEngine(app)
これもうまくいきません
モデルmodels.py
が読み込まれる (またはデータベースに接続される) と、その接続を変更できないようです。
あれは正しいですか?
同じモデルでデータベースを変更するにはどうすればよいですか?
編集: Django に相当するものはusing
、同じモデルに対して異なる DB を照会できる ORM のパラメーターです。