3
命令python manage.py makemigrations
由於forms.py
而導致大部分時間都失敗,其中在類定義級別引用了新模型或新字段。遷移與forms.py發生衝突
所以我必須評論每個這樣的遷移操作定義。這是一個痛苦的任務。
我不明白爲什麼遷移過程導入forms.py
模塊。我認爲導入模型模塊應該足夠了。
有沒有辦法避免這些錯誤?
命令python manage.py makemigrations
由於forms.py
而導致大部分時間都失敗,其中在類定義級別引用了新模型或新字段。遷移與forms.py發生衝突
所以我必須評論每個這樣的遷移操作定義。這是一個痛苦的任務。
我不明白爲什麼遷移過程導入forms.py
模塊。我認爲導入模型模塊應該足夠了。
有沒有辦法避免這些錯誤?
感謝@alasdair我明白我的問題,並找到了一個解決辦法:我
import sys
if 'makemigrations' not in sys.argv and 'migrate' not in sys.argv:
from MyApp import forms
它工作正常,在我的情況替換views.py
文件
from MyApp import forms
原代碼,但我假設有一個更好的方法來知道當前進程是否是一個遷移。如果是這樣,請告知。
您還沒有顯示回溯,但我的猜測是Django檢查框架正在加載url,後者依次加載視圖和表單。您應該能夠重組表單以避免錯誤,但除非您顯示一些代碼,否則我們無法提供幫助。 [這個問題](http://stackoverflow.com/questions/37726396/upgrading-from-django-1-6-to-1-9-python-manage-py-migrate-failure/37747009#37747009)是類似的。 – Alasdair
謝謝@alasdair。如果遷移導入'url.py',那麼我理解我的問題。我仍然不明白爲什麼它會輸入網址!我很驚訝其他人不會聲稱這一點。 – albar
這是系統檢查導入的URL,而不是遷移。在makemigrations命令之前運行[系統檢查](https://docs.djangoproject.com/en/1.10/topics/checks/#module-django.core.checks)。 – Alasdair