是否可以从python脚本进行迁移?如何使用python脚本进行数据库迁移?
我想在没有shell的Heliohost上使用django,但我可以使用python脚本。
something like
from django import shell
shell.main(['mysite/manage.py', 'migrate'])
编辑
从@Shadow使用输入,我试图把这个代码在views.py文件
def migrate(request):
django.setup()
from django.core.management import call_command
call_command("migrate", interactive=False)
return HttpResponse("Final Migration Successful")
随后走访映射到迁移网址这回“最终迁移成功“
然后我试着数据库像
from .models import Question
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
给我的错误:
(1146, "Table 'usr_mydb.polls_question' doesn't exist")
从Django的教程:
绕过manage.py
如果你不想使用manage.py,没问题。只需设置DJANGO_SETTINGS_MODULE环境变量mysite.settings,启动一个普通的Python外壳,并成立了Django的:
>>> import django
>>> django.setup()
如果这引发了一个AttributeError,你可能会使用一个版本的Django的不匹配这个教程版本。您将要切换到较旧的教程或较新的Django版本。
您必须从同一目录中运行python manage.py,或确保该目录位于Python路径中,以便导入mysite可以工作。
有关所有这些的更多信息,请参阅django-admin文档。
但如何做python manage.py <command>
使用django.setup()
是在文档中没有地方。
感谢。如何在这里指定我的项目。这个文件驻留在哪里? – Rahul
对不起 - 你是什么意思?你可以创建一个包含这个脚本的脚本并从你的Heliohost运行它。 – Shadow
让我试着回去。 – Rahul