1
在生產服務器上的Django應用程序我以這種方式在服務器上運行的遷移:防止FieldDoesNotExist遷移
- 上傳models.py文件服務器與一些新的領域
sfield
IM模式Mobject
- 在執行makemigration命令manage.py
- 在manage.py中執行migrate命令 但是,在第一步結束和第三步結束之間有一些請求失敗,並且出現了
django.core.exceptions.FieldDoesNotExist: Mobject has no field named 'sfield'
(這很明顯,因爲django ORM無法從DB獲取此字段但已經在Cla的領域ss,所以django會嘗試去做)
是否有可能使所有3個步驟「原子」?或globaly忽略這個例外,因爲現在我不需要sfield
,我只想執行沒有例外的遷移。或者可能是我可以用某種方式臨時標記新字段以阻止django從數據庫中獲取它,但是它必須對makemigrations/migrate可見?
謝謝,是的,我同意 - 本地開發服務器是創建遷移的正確方法,但正如您提到的那樣,它不會解決問題,它會將服務器遷移步驟減少到2:'Upload'和'migrate',但仍然一些請求可能會失敗。只有有趣的事情,多虧你的堅定,我也發現'延期',我也會嘗試。 – user3479125
@ user3479125不錯,祝你好運! ;) – doniyor