Django:在运行时指定动态数据库
我正在尝试在Django中设置一个系统,通过该系统我可以指定在运行时使用的数据库连接。我觉得我可能需要尽可能地降低级别,但我希望尽可能地使用Django的习惯用法,也许尽可能地扩展它 总的来说,我有一个集中的数据库来存储元信息数据集,但实际的数据集是在运行时作为动态模型在数据库中创建的。我需要能够指定在运行时连接到哪个数据库,然后将数据提取出来 我有如下想法:Django:在运行时指定动态数据库,django,multiple-databases,django-3.0,Django,Multiple Databases,Django 3.0,我正在尝试在Django中设置一个系统,通过该系统我可以指定在运行时使用的数据库连接。我觉得我可能需要尽可能地降低级别,但我希望尽可能地使用Django的习惯用法,也许尽可能地扩展它 总的来说,我有一个集中的数据库来存储元信息数据集,但实际的数据集是在运行时作为动态模型在数据库中创建的。我需要能够指定在运行时连接到哪个数据库,然后将数据提取出来 我有如下想法: db = {} db['ENGINE'] = 'django.db.backends.postgresql' db['OPTIONS'
db = {}
db['ENGINE'] = 'django.db.backends.postgresql'
db['OPTIONS'] = {'autocommit': True}
db['NAME'] = my_model_db['database']
db['PASSWORD'] = my_model_db['password']
db['USER'] = my_model_db['user']
db['HOST'] = my_model_db['host']
logger.info("Connecting to database {db} on {host}".format(db=source_db['NAME'], host=source_db['HOST']))
connections.databases['my_model_dynamic_db'] = db
DynamicObj.objects.using('my_model_dynamic_db').all()
有人做到了吗?如何实现呢?你到底想用它实现什么才是真正的问题:)@AKX我有一个集中的数据库,存储元信息数据集-但实际的数据集在运行时在相关数据库中创建为动态模型。我需要能够指定在运行时连接到哪个数据库,然后将数据提取出来……你最终想用它实现什么是真正的问题:)@AKX我有一个中央数据库,存储元信息数据集-但实际数据集在运行时创建为动态模型,在相关数据库中。我需要能够指定在运行时连接到哪个数据库,然后将数据提取出来。。。