OK、Flaskアプリケーションで少し難解なことをしようとしています。フラスコアプリケーションの設定をmodels.py内で呼び出す
私は、構成ファイルの情報に基づいてモデル構造内にいくつかの条件付きロジックが必要です。
現在私は私のフラスコアプリケーションを呼び出し、設定オブジェクトは、次のように指定されています。
app = create_app('swarm.settings.DevConfig')
デシベルオブジェクトがmodels.py
に作成されます。
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class MyClass(db.Model):
...
私がモデルをしたいと思います。 pyを使用して、さまざまなORMおよびOGM(SQLAlchemyおよびpy2neoに限定されない)に対応し、FlaskアプリケーションをSQL/Graphに依存しないように開発することができます。
if __SOME_CONFIG__['db_mapper'] = 'SQLAlchemy':
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class MapperModel(db.Model):
...
elif __SOME_CONFIG__['db_mapper'] = 'Py2Neo':
from py2neo import Graph, Node, Relation
db = Graph()
class MapperModel(py2neo.Node):
...
class MyClass(MapperModel):
...
私は、コードがアプリケーションのオブジェクトを認識している前に、私は私のdbオブジェクトを作成していますので、これを達成するためにcurrent_app
を使用する方法を見ることはできません。
models.py
から現在の設定オブジェクトをロードする簡単な方法はありますか?私はちょうどmodels.py
の設定を、アプリケーションの現在の設定オブジェクトを参照しないで別のファイルからロードする必要がありますか?