使用编程方式在Django中同步数据库

12
我正试图从一个视图中同步我的数据库,类似于这样:
from django import http
from django.core import management

def syncdb(request):
    management.call_command('syncdb')
    return http.HttpResponse('Database synced.')
问题是,它将通过终端要求用户输入来阻塞开发服务器。如何传递'--noinput'选项以防止询问任何内容? 我有其他标记用户为超级用户的方法,因此不需要用户输入,但我确实需要以编程方式调用syncdb(和flush),而无需通过ssh登录到服务器。感谢任何帮助。
2个回答

20
management.call_command('syncdb', interactive=False)

4

使用方式如下(至少适用于Django 1.1):

from django.core.management.commands import syncdb
syncdb.Command().execute(noinput=True)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接