允许 Django 为每个用户拥有不同的数据库?

Dou*_*ank 5 database django

我想创建一个 Django 应用程序,其中每个用户都有自己的数据库。用户仍然会从主用户那里获得身份验证,但所有应用程序模型都来自他们自己的数据库副本。

例如,假设我们有这样的东西:

DATABASES = {
'default': {
    'NAME': 'sqlite3',
    'ENGINE': 'default.db',
},
'user1': {
    'NAME': 'sqlite3',
    'ENGINE': 'user1.db',
}
'user2': {
    'NAME': 'sqlite3',
    'ENGINE': 'user2.db',
}
Run Code Online (Sandbox Code Playgroud)

}

其中 default.db 具有用户(和任何其他非应用程序表),而 user1.db 和 user2.db 具有特定于应用程序的模型。

我怎样才能允许一些用户使用 user1 而其他用户使用 user2?

我可以动态地向 DATABASES 添加更多条目吗?(如果重要的话,我正在使用 wsgi)

我宁愿不更改代码(例如,通过插入 .using()),而是希望拥有一个全局数据库路由器,也许。

我已阅读https://docs.djangoproject.com/en/dev/topics/db/multi-db/但无法弄清楚执行上述操作所需的内容。