Python 炼金术中如何选择数据库绑定

Python 炼金术中如何选择数据库绑定,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,我在Flask中有两个数据库绑定—“default”和“sus”。我在模型中使用了bind_键,它工作正常 class Person(db.Model): __tablename__ = 'persons' __bind_key__ = 'sus' id = Column(Integer, primary_key=True) name = Column(Unicode) Person.query.get(5) 但现在我需要从“sus”绑定执行它: from fl

我在Flask中有两个数据库绑定—“default”和“sus”。我在模型中使用了bind_键,它工作正常

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()

我得到的是'default'绑定,而不是'sus'。我该怎么办?

您的
db.session
查询根本没有使用Person模型,因此它对
\uuu bind\u key\uuuuuuuu


尝试重构查询,以便可以使用
Person.query.filter(…).first()

我不知道如何重构该查询。你能帮我重构一下吗?我需要从其他绑定执行sql函数“do_something”。我已经找到了解决方案。在那里: