是否可以從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