Flask + Mongo多租户应用

时间:2018-07-19 15:37:46

标签: python flask flask-mongoengine

我正在尝试为每个客户端构建一个具有多个数据库的应用程序。 使用flask-mongoengine,您可以注册多个数据库连接,并在查询ORM模型时使用别名连接到数据库。我正在使用@before_request钩子来设置租户。

app.config["MONGODB_SETTINGS"] = {
    'db': 'default',
    'host': 'mongodb://localhost/default',
    'alias': 'default'
},
{
    'db': 'client1',
    'host': 'mongodb://localhost/client1',
    'alias': 'client1'
}

from models.import Purchase
def get_data():
    with switch_db(Purchase, g.context['tenant']) as Data:
        record = Data.objects(pk=<id>).first()
        return record

我能够使用这种方法成功地切换数据库。

我想全局地或在用户选择客户端时切换数据库的上下文。这样我就不必为每种方法和每次查询都更改它。

0 个答案:

没有答案