如何让syncdb在Django中自动运行?

时间:2011-05-07 10:19:15

标签: python django

当我有一个有助于上传文件的视图时,我希望它存储在数据库中,这只有在我运行syncdb时才有可能。但是,到现在为止我知道如何在python命令行运行python manage.py syncdb。当我上传一些数据时,如何让它自动运行?

4 个答案:

答案 0 :(得分:3)

有点hacky方式:

import sys
sys.argv.append('syncdb')

from django.core.management import execute_manager
import settings # Your project's settings. Assumed to be in the same directory. 

execute_manager(settings)    

答案 1 :(得分:1)

您随时可以致电

os.system('python /path/manage.py syncdb')

这应该运行你的syncdb进程,但是,我认为有更好的方法可以解决这个问题而不使用syncdb。

哦,你需要使用能够回答所有问题的标志。

答案 2 :(得分:1)

在每次上传文件时调用syncdb本身都是错误的,但回答了您的问题。从内部代码中调用syncdb

from django.core.management.commands.syncdb import Command as SyncDbCommand
SyncDbCommand().handle_noargs()

答案 3 :(得分:1)