Django: Ошибка: Неизвестная команда: 'makemigrations'
Я пытаюсь следовать учебнику Django
, и я столкнулся со следующей ошибкой при вводе python manage.py makemigrations polls
Unknown command: 'makemigrations'
Здесь ссылка в учебное пособие, и я выполнил все предыдущие шаги успешно, и я не уверен, что сейчас происходит неправильно или как это исправить.
P.S.: Я уже включил "опросы" в INSTALLED_APPS!
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls',
'South',
)
Ответ: мне пришлось изменить INSTALLED_APPS на:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls',
)
а также эту команду: python manage.py syncdb
Ответы
Ответ 1
Миграции были впервые добавлены в версии 1.7, официально выпущенной 2 сентября 2014 года. Вам нужно убедиться, что ваш учебник соответствует версии Django, с которой вы работаете. Например, эта версия учебника охватывает 1.9:
https://docs.djangoproject.com/en/1.9/intro/tutorial01/
Или, если вы используете более старую версию Django, вы можете изменить "1.9" в этом URL-адресе на любую версию, на которой вы находитесь (до 1.3). Или используйте раскрывающийся список на странице документов, чтобы выбрать версию и найти "учебник".
Ответ 2
Узнайте, какую версию django вы используете (спасибо @BradyEmerso):
python -c "import django; print(django.get_version())"
Если старше 1.8:
pip install --upgrade django
Ответ 3
В django makemigration добавлен после 1.7, поэтому, если вы используете более старую версию Django, вам нужно изменить settings.py и добавить приложение в установленное приложение, например
INSTALLED_APPS = (
'Demo',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
а затем вы можете запустить команду
python manage.py syncdb
Ответ 4
Я использовал версию 1.9 и все еще получаю эту ошибку. У меня были непримененные миграции, и это было основной причиной в моем случае. Я применил 'python manage.py migrate
', чтобы применить их, и это сработало для меня.
Ответ 5
Вам нужно загрузить виртуальную среду, прежде чем делать это.
Используйте следующий код для Linux/OSX:
source venv/bin/active
И следующий код для Windows
source venv/Scripts/activate
Ответ 6
Я сделал следующее (для Python версии 3.6.4), чтобы решить эту проблему:
- установить virtualenv
- Активировать virtualenv
ура
Ответ 7
Первый раз я добавляю следующий фрагмент кода в файл имя_проекта\settings.py.
'INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#Django REST Framework
'rest_framework',
#Games application
'games.apps.GamesConfig',
]'
После сохранения при запуске следующего кода я получил ошибку.
'python manage.py makemigrations games'
Затем я проверяю файл settings.py и понимаю, что существует два INSTALLED_APPS, а во втором нет следующих. Когда я добавил их, код работал.
'#Django REST Framework
'rest_framework',
#Games application
'games.apps.GamesConfig','