【问题标题】:Programmatically sync the db in Django以编程方式同步 Django 中的数据库
【发布时间】:2010-05-05 12:06:48
【问题描述】:

我正在尝试从视图同步我的数据库,如下所示:

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 登录到服务器。任何帮助表示赞赏。

【问题讨论】:

    标签: python django django-admin


    【解决方案1】:
    management.call_command('syncdb', interactive=False)
    

    【讨论】:

      【解决方案2】:

      像这样工作(至少对于 Django 1.1):

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

      【讨论】:

        猜你喜欢
        • 2013-07-13
        • 2017-03-01
        • 1970-01-01
        • 2021-06-25
        • 2012-09-06
        • 1970-01-01
        • 2014-11-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多