在我的Django项目中,我对第三方应用程序具有依赖性,该第三方应用程序在具有已知模式的各个目录中生成SQLite缓存文件。
我想使用Django模型来访问这些数据库,但是显然我不能使用静态DATABASES设置。
如何在任意路径上动态打开SQLite数据库?
编辑
正如Byron Ruth所指出的,解决方案是将django.db.connections结合使用usingQuerySet中的函数。
该django.db.connections是包裹一个简单的DATABASES在你的设置中定义。包装器类在这里: django.db.utils#L137-L227
django.db.connections
DATABASES
from django.db import connections # Add connection information dynamically.. connections.databases['new-alias'] = { ... } # Ensure the remaining default connection information is defined. # EDIT: this is actually performed for you in the wrapper class __getitem__ # method.. although it may be good to do it when being initially setup to # prevent runtime errors later. # connections.databases.ensure_defaults('new-alias') # Use the new connection conn = connections['new-alias']