Django CommandError: в приложениях "опросы" есть миграции
Попытка следовать руководству в проекте Django.
Проблема, с которой я столкнулся, заключается в том, что при выполнении команды:
python manage.py sql polls
Мне дана ошибка:
CommandError: в приложениях "опросы" есть миграции. только команды sqlmigrate и sqlflush могут использоваться, когда приложение имеет миграции
До сих пор я не могу найти никакого руководства в Интернете или на этом веб-сайте для решения этой проблемы.
Ответы
Ответ 1
Проблема заключается в том, что вы используете Django 1.8
при просмотре 1.6-урока. Обратите внимание на первые слова в начале tutorial:
Этот учебник написан для Django 1.6 и Python 2.x. Если Django версия не соответствует, вы можете обратиться к учебнику для своей версии Django с помощью переключателя версии в правом нижнем углу эту страницу или обновить Django до последней версии.
В вашем случае либо снижайтесь до 1.6, либо используйте учебник для версии (в настоящее время 1.8).
Ответ 2
Вы можете запустить python manage.py makemigration
, а затем python manage.py migrate
или просто удалить папку миграций
Ответ 3
Просто удалите папку app-name/migrations
.
В Django 1.7
и Python 3.4
решение, которое я нашел, это удалить эту папку, и теперь все будет работать.
Ответ 4
С django 1.7 вместо удаления папки app-name/migrations в вашей записи MIGRATION_MODULES вашего сайта вы можете переименовать значение словаря приложения с несуществующим именем модуля, добавив некоторую фиктивную строку:
MIGRATION_MODULES ['my_app'] + = '_xx'
И тогда manage.py sqlclear my_app отлично работает.
Ответ 5
В Django 1.8 вы должны запустить другую команду - makemigrations [имя вашего приложения]:
$ python manage.py makemigrations polls
Вы должны увидеть что-то похожее на следующее:
Migrations for 'polls':
0001_initial.py:
- Create model Question
- Create model Choice
- Add field question to choice