如何在flask-sqlalchemy中选择数据库绑定
我在Flask里有两个数据库连接,一个叫'默认',另一个叫'sus'。我在模型里用了bind_key,这样做是没问题的。
class Person(db.Model):
__tablename__ = 'persons'
__bind_key__ = 'sus'
id = Column(Integer, primary_key=True)
name = Column(Unicode)
Person.query.get(5)
但是现在我需要从'sus'这个连接来执行操作:
from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy import func
db = SQLAlchemy(app)
db.session.query(func.do_something(some_params)).first()
db.session.commit()
结果我得到了'默认'的连接,而不是'sus'。我该怎么办呢?
1 个回答
0
你的 db.session
查询根本没有使用到 Person 模型,所以它对 __bind_key__
一无所知。
试着改写你的查询,这样你就可以用 Person.query.filter(...).first()
了。