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