django的官方文档,有关stackoverflow的其他答案以及其他资源提供了基于模型的数据库路由的教程/示例。换句话说,他们假设这种情况好像数据库选择取决于我们要操作的模型。这意味着很少有模型可以在少数数据库上运行,而其余模型可以在其余数据库上运行。
我的情况或我想要的是:
我希望在models.py中指定的所有模型都存储在所有数据库中。数据库选择必须由用户当前正在进行的会话决定。 每个用户都有自己的数据库,每个数据库都有每个模型。
我该如何实现? (希望我很清楚。)
消息来源怎么说:
def db_for_read(self, model, **hints):
if model._meta.app_label in ['auth','admin','sessions','contenttypes']:
return 'devops'
return None
我想要类似的东西
def db_for_read(self, request, **hints):
if request.session.get('username'):
# If I name databases as per usernames
return request.session['username']