Django中的动态数据库连接

时间:2015-12-21 14:40:05

标签: python django database sqlalchemy

我只是对我的想法进行原型设计,我必须能够使用 Django 连接到多个数据库(多种类型)。我知道可以在settings.py中定义几个db,并且我们可以使用using('db_name')指定管理员应该使用哪个数据库,但不幸的是我不能 - 在设置文件中对我的多个数据库进行编码,因为它们是动态的(我的意思是我不知道"编译时间"我将使用哪个和多少个外部数据库)。问题与此类似,已在此处提出并回答:Django: dynamic database file

...但是,接受的答案是IMO只是一个黑客,我对类似方法的可靠性和安全性有几个担忧。 所以我的问题是:是否有一种干净,安全的方法通过较低级别的API动态建立数据库连接(如 SQLAlchemy ' s create_engine('db_url'))?如果不是可以将 SQLAlchemy 集成到 Django 中(以可靠且完全正常的方式)?

PS。另一件我想避免的事情是必须为每个ORM操作指定哪个数据库与using()一起使用,而我喜欢SQLAlchemy' s transaction的概念或者替代一个上下文处理器,我可以写一些像:

with active_db('some_db') as db:
    # do ORM operations...

0 个答案:

没有答案
相关问题