python - 如何在 flask-sqlalchemy 中选择数据库绑定(bind)

标签 python flask sqlalchemy

我在 Flask 中有两个数据库绑定(bind) - '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'绑定(bind)执行它:
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()

而且我有“默认”绑定(bind),而不是“sus”。我该怎么办?

最佳答案

您的 db.session查询根本没有使用 Person 模型,所以它对 __bind_key__ 一无所知。

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

关于python - 如何在 flask-sqlalchemy 中选择数据库绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24949952/

相关文章:

python - 使用 python 渲染并保存视频文件

python - 使用 Get2D 在 OpenCV 中访问二维像素值时出现超出范围错误或返回值错误

ubuntu - Apache 配置不同的主机应用程序使用相同的 IP 和相同的端口

python - 动态连接sqlalchemy

python - Flask-Sqlalchemy 多个数据库(绑定(bind))具有相同的模型(类 DB.Model)

python - 为 MySQL CREATE TABLE 生成 SQLAlchemy KEY 子句

python - 设置 ReferenceProperty 值时出现 KindError

python - 直接从 Jupyter 笔记本创建要点?

python - 将 json 数据传递给模板

python - 如何在多线程模式下使用 Gunicorn 运行 Flask