正如标题所示,我感兴趣的是如何在多个数据库中创建相同的模型。我有以下场景:每个用户都有自己的数据库(这是简化的情况),当用户向他的应用程序添加新模块时,我希望能够为他添加的模块创建数据库表。 我目前的想法是创建动态模型,添加自定义app_label,然后使用在相应数据库中创建模型的数据库路由器。
有没有更简单的方法来获得这个?
提前致谢!
答案 0 :(得分: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
答案 1 :(得分:0)
使用带有不同参数的migrate命令。例如,如果您的数据库别名是主要和次要
这样做
python manage.py migrate --database=primary
python manage.py migrate --databases=secondary