django自动化syncdb

时间:2012-04-26 02:00:21

标签: django syncdb

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

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

我可以抓住在manage.py中找到的代码并直接将其粘贴到我的设置模块中,但我不确定是否有一种更好的方法,我缺少 - 沿着两行组成的行:< / p>

import django.something
import os

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

或类似的东西。我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:4)

这应该这样做:

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)