【问题标题】:django automate syncdbdjango 自动化同步数据库
【发布时间】:2012-04-26 02:00:20
【问题描述】:

我正在开发一个包含 django 服务器和设置模块的项目。

用户将配置他们的系统来运行我的程序,其中包括一个 django webserver 元素以及其他项目。我正在开发一个设置模块,该模块可帮助用户正确设置所有设置并设置所有适当的文件。在设置过程中,我想做的一件事本质上是一个“manage.py syncdb”命令,它可以从无到有地创建一个合适的 SQLite 文件和表。

我可以获取在 manage.py 中找到的代码,并直接将其适当地粘贴到我的设置模块中,但我不确定是否有更好的方法我错过了 - 沿着由以下两行组成的行:

import django.something
import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
django.something.syncdb()

或者类似的东西。我只是在这里遗漏了什么吗?

【问题讨论】:

    标签: django syncdb


    【解决方案1】:

    应该这样做:

    import os
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
    from django.core import management
    management.call_command('syncdb', interactive=False)
    

    你也可以这样做

    import os
    import settings
    from django.core.management.commands import syncdb 
    
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
    
    syncdb.Command().execute(noinput=True) 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 2020-04-02
      • 1970-01-01
      • 1970-01-01
      • 2012-11-23
      相关资源
      最近更新 更多