0

正如标题所示,我感兴趣的是如何在多个数据库中创建相同的模型。我有以下场景:每个用户都有自己的数据库(这是简化的情况),当用户向他的应用程序添加新模块时,我希望能够为他添加的模块创建 db 表。我目前的想法是创建动态模型,添加自定义 app_label,然后使用在相应数据库中创建模型的数据库路由器。

有没有更简单的方法来获得这个?

提前致谢!

4

2 回答 2

0

您应该查看 syncdb 命令 - 您可以像这样以编程方式调用它:

from django.core.management import call_command
call_command('syncdb')

在您的情况下,您将希望对您在命令行中传入的任何选项使用命名参数:

call_command('syncdb', noinput=True, database=user_db)

希望有帮助。

也检查一下:https ://docs.djangoproject.com/en/dev/ref/django-admin/#running-management-commands-from-your-code

于 2013-08-12T16:30:42.050 回答
0

使用具有不同参数的 migrate 命令。例如,如果您的数据库别名是主要和次要的

做这个

    python manage.py migrate --database=primary

    python manage.py migrate --databases=secondary
于 2017-07-14T08:04:41.633 回答