我有一个模块,我想用它来处理对生产和测试数据库的数据库访问。
内容如下:
class FirstModel(db.Model):
#...
class SecondModel(db.Model):
#...
def get_production_connection():
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = PRODUCTION_DATABASE_URI
db = SQLAlchemy(app)
return db
def get_test_connection():
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = TEST_DATABASE_URI
db = SQLAlchemy(app)
return db
不幸的是,这不起作用,因为定义的模型继承自db.Model
,在评估类时,这种模型没有明确定义。有什么方法可以让我的类/模型继承自db.Model类,只有在调用上述方法之一时才能通过db
对象访问它?
答案 0 :(得分:2)
我现在通过:
解决了db = SQLAlchemy()
#models here
def create_app():
app = Flask(__name__)
#db configuration
db.init_app(app)
return db
如此处所示http://pythonhosted.org/Flask-SQLAlchemy/api.html#flask.ext.sqlalchemy.SQLAlchemy