如何创建支持多个数据库的python rest API

时间:2016-01-26 02:21:56

标签: django api rest flask

这是我的设置:

我有一个django应用程序,有2个用户:Bob和Jake

出于安全考虑,Bob和Jake都有一个与之关联的特定数据库。换句话说,如果Bob已登录,那么Bob所做的所有其余API调用应该指向他自己的数据库(他不应该能够访问Jake),反之亦然。

我想知道如何设置这种类型的API,根据登录的人,请求被路由到正确的数据库。

此外,我理想地希望这个API与我的django应用程序完全分离(它应该作为一个完全独立的应用程序存在)。

我想知道是否有人对如何设置这种类型的API有任何建议?我打开使用烧瓶,django等......

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

你可以使用Flask和SQLAlchemy轻松处理这个问题。创建指向不同数据库的不同SQLAlchemy引擎,从这些引擎创建会话,并相应地使用它们。

SQLAlchemy设置代码:

<select ng-model="myColor" ng-options="color.name group by color.shade disable when color.notAnOption for color in colors"></select>

Flask端点,使用Flask-Login的bob_engine = create_engine('sqlite:////bob.db') BobSession = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=bob_engine)) jake_engine = create_engine('sqlite:////jake.db') JakeSession = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=jake_engine)) 对象:

current_user