我想创建一个 Django 应用程序,每个用户都有自己的数据库。用户仍然会从主用户那里获得身份验证,但所有应用程序模型都来自他们自己的数据库副本。
例如,假设我们有类似的东西:
DATABASES = {
'default': {
'NAME': 'sqlite3',
'ENGINE': 'default.db',
},
'user1': {
'NAME': 'sqlite3',
'ENGINE': 'user1.db',
}
'user2': {
'NAME': 'sqlite3',
'ENGINE': 'user2.db',
}
}
其中 default.db 具有用户(和任何其他非应用表),而 user1.db 和 user2.db 具有特定于应用的模型。
我怎么能允许一些用户使用 user1 而其他用户使用 user2?
我可以即时向 DATABASES 添加更多条目吗?(如果这很重要,我正在使用 wsgi)
我宁愿不更改代码(例如,通过插入 .using()),而是拥有一个全局数据库路由器,也许。
我已阅读https://docs.djangoproject.com/en/dev/topics/db/multi-db/但无法弄清楚执行上述操作需要什么。