[英]from django.db import utils ImportError cannot import name utils?
[英]from django.db import models, migrations ImportError: cannot import name migrations
所以我開始在我的Django Web服務器上遇到南方的一些問題。 每次使用此輸出遷移命令失敗:
from django.db import models, migrations
ImportError: cannot import name migrations
(在此之上,錯誤顯示無法遷移的文件的路徑)
我的Django版本是1.5.1,而我的南版本是0.8.4
讓我最煩惱的是模塊django.db.migrations無處可尋。
有任何想法嗎?
遷移是在Django 1.7中引入的; 你使用1.5。
這是一個解釋這個的文檔的鏈接 。 如果您使用的是舊版本的Django,則South是最受歡迎的數據遷移選項。
編輯
所以Django Rest Framework導致錯誤。 從他們的文件:
rest_framework.authtoken應用程序包括將創建authtoken表的Django本機遷移(對於Django版本> 1.7)和South遷移(對於Django版本<1.7)。
注意:從REST Framework v2.4.0使用South和Django <1.7需要升級South v1.0 +
您必須將South升級到0.8.4以上的版本。
我認為OP沒有將遷移導入到他正在編寫的腳本中,其中一個由schemamigration創建的自動腳本可能導致了這個問題。
這個錯誤突然開始出現在我之前遷移工作的地方,我發現它與Django == 1.6.1和South == 0.8.4的版本沒有關系,但我的shell對於哪個virtualenv感到困惑我在用。 我已經退出一個虛擬環境並取消激活,並使用“workon”啟動另一個虛擬環境並運行模式遷移以更改字段的名稱。 當我運行./manage migrate時,我收到了錯誤。 我退出了shell並再次啟動了虛擬環境,一切都很好。
首先,您永遠不會導入migrations
。 它不是要導入的模塊,它是一個執行的命令工具。
其次,遷移是在1.7版本中引入Django的,你說你使用的是1.5,所以你將無法使用它。
在Django 1.7之前,人們曾經與South合作,因為South使您能夠在數據庫中進行遷移。 使用Django 1.7,你不再需要South了,因為Django中已經包含了遷移。 換句話說,South在1.7版本中包含在Django中。
看一下這個鏈接: https : //docs.djangoproject.com/en/1.7/topics/migrations/
他們解釋說他們包括遷移到Django。
實際上,South的最后一個版本是版本1.0,他們宣布他們不會發布更多版本,因為他們正在開發包含South的Django 1.7版本。 它們將支持當前版本,但不會添加更多功能。
看一下這個鏈接: http : //south.readthedocs.org/en/latest/releasenotes/1.0.html
他們解釋說,1.0是South的最后一個主要版本,因為他們正致力於Django 1.7遷移。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.