是否可以即时向 Django 添加新的数据库连接?
我有一个使用多个数据库的应用程序(django 1.2.1),并且在运行时允许创建新数据库。我需要立即使用这个新数据库(django.db.connections[db_alias]
)。是否可以不重新启动服务器?reload
在这里和那里使用模块?
感谢您的时间。
是否可以即时向 Django 添加新的数据库连接?
我有一个使用多个数据库的应用程序(django 1.2.1),并且在运行时允许创建新数据库。我需要立即使用这个新数据库(django.db.connections[db_alias]
)。是否可以不重新启动服务器?reload
在这里和那里使用模块?
感谢您的时间。
有可能...但不推荐...您可以访问当前的连接处理程序...
使用这样的东西:
from django.db import connections
if not alias in connections.databases:
connections.databases[alias] = connections.databases['default'] # Copy 'default'
connections.databases[alias]['NAME'] = alias
确保在当前线程上存在任何数据库活动时,不要尝试向数据库字典添加新别名。
您需要克服的一个问题是,在尝试访问数据库之前,如果当前线程始终会触及该代码,则需要将该代码放置在某个地方。我使用中间件来实现这一点。