在 Django 中以编程方式同步数据库
我正在尝试从视图同步我的数据库,如下所示:
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 连接到服务器。任何帮助表示赞赏。
I'm trying to sync my db from a view, something like this:
from django import http
from django.core import management
def syncdb(request):
management.call_command('syncdb')
return http.HttpResponse('Database synced.')
The issue is, it will block the dev server by asking for user input from the terminal. How can I pass it the '--noinput'
option to prevent asking me anything?
I have other ways of marking users as super-user, so there's no need for the user input, but I really need to call syncdb
(and flush
) programmatically, without logging on to the server via ssh. Any help is appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
工作原理如下(至少在 Django 1.1 中):
Works like this (at least with Django 1.1.):