我目前有多个具有相同表和列的数据库(但内部数据不同)。很明显我需要使用绑定来访问所有这些,但它显然不像这样简单:
class WhateverTable(db.Model):
__tablename__ = 'whatevertable'
whatever = db.Column(db.String(255))
def __init__(self, bind=None):
self.__bind_key__ = bind
然后再打电话:
WhateverTable(bind='bind_key_here').query.filter_by(whatever='whatever').first()
我有办法轻松地做到这一点吗?我尝试从表类继承,然后在那里定义绑定,虽然它有效,但它确实不可扩展。
编辑:这个:Flask inherited classes of tables in multiple identical databases using __bind_key__做了我想要的,但我不想有不同的类,因为如果我添加一个新的数据库,我将不得不创建一个新的阶级和关系。
答案 0 :(得分:1)
Flask-SQLAlchemy 2.1 added support for a binds
parameter on the session应该做你想做的事。