[英]Django 1.7 - App 'your_app_name' does not have migrations
我正在嘗試從 Django 1.6.7 升級到 Django 1.7.1,所以我一直在嘗試遷移我的應用程序。
我從我安裝的應用程序中刪除了南方。
在遷移目錄中,我刪除了編號的遷移文件和 .pyc 文件,但我保留了目錄 & __ init__.py 文件。
然后我運行:
python manage.py makemigrations your_app_name
我收到以下確認信息:
Migrations for 'your_app_name':
0001_initial.py:
- Create model UserProfile
接下來我運行:
python manage.py migrate your_app_name
我收到以下錯誤:
CommandError: App 'your_app_name' does not have migrations (you cannot selectively sync unmigrated apps)
根據文檔,我還運行了:
python manage.py migrate --fake your_app_name
我收到了同樣的錯誤信息:
CommandError: App 'your_app_name' does not have migrations (you cannot selectively sync unmigrated apps)
誰能闡明為什么這對我不起作用?
我注意到只有那些實際包含一個包含文件__init__.py
的migrations
文件夾的應用程序才能被遷移識別。 IE 在您的應用程序中只有 models.py 是不夠的。
如果您只有一個應用程序,則在不指定應用程序或遷移的情況下運行migrate可能會起作用。
如果是這樣,首先要檢查的是您的應用程序名稱是否與 settings.py 中 INSTALLED_APPS 下指定的名稱相匹配。
正如評論中指出的那樣,應用名稱可以采用 [parent_app].[app_name] 的形式。 在這種情況下,遷移只需要 [app_name]。
您的應用程序必須包含一個models.py
文件(甚至是空文件)。
資料來源: https ://groups.google.com/forum/#!msg/django-users/bsTZEmxgDJM/wH0p3xinBWIJ
再提一個可能的原因:
在我的 Django 應用程序中,我添加了正確的遷移並使用 pip 安裝了該應用程序,但出現了同樣的錯誤。
我缺少的是正確的 MANIFEST.in 文件此外,setup.py 文件中 setup() 中的參數include_package_data
未設置為True
。
我正在嘗試從 Django 1.6.7 升級到 Django 1.7.1,所以我一直在嘗試遷移我的應用程序。
我從我安裝的應用程序中刪除了南。
在遷移目錄中,我刪除了編號遷移文件和 .pyc 文件,但我保留了目錄和 __ init__.py 文件。
然后我運行:
python manage.py makemigrations your_app_name
我收到以下確認消息:
Migrations for 'your_app_name':
0001_initial.py:
- Create model UserProfile
接下來我運行:
python manage.py migrate your_app_name
我收到以下錯誤:
CommandError: App 'your_app_name' does not have migrations (you cannot selectively sync unmigrated apps)
根據文檔,我還運行了:
python manage.py migrate --fake your_app_name
我收到了同樣的錯誤信息:
CommandError: App 'your_app_name' does not have migrations (you cannot selectively sync unmigrated apps)
誰能解釋為什么這對我不起作用?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.