Программная синхронизация БД в Django

Я пытаюсь синхронизировать мою базу данных из вида, что-то вроде этого:

from django import http
from django.core import management

def syncdb(request):
    management.call_command('syncdb')
    return http.HttpResponse('Database synced.')

Проблема в том, что он заблокирует сервер dev, запрашивая ввод данных от терминала. Как я могу передать ему параметр '--noinput', чтобы не спрашивать меня о чем-либо?

У меня есть другие способы пометить пользователей как суперпользователя, поэтому нет необходимости вводить пользователя, но мне действительно нужно вызвать syncdbflush) программно, без входа на сервер через ssh. Любая помощь приветствуется.

12 голосов | спросил Attila O. 5 Maypm10 2010, 16:06:48

2 ответа


0
management.call_command('syncdb', interactive=False)
ответил Davor Lucic 5 Maypm10 2010, 16:38:38
0

Работает так (по крайней мере, с Django 1.1.):

from django.core.management.commands import syncdb
syncdb.Command().execute(noinput=True)
ответил maersu 5 Maypm10 2010, 16:34:55

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132