2013-11-27 2 views
22

Я пытаюсь следовать Django учебник и я столкнулся следующее сообщение об ошибке, когда я вхожу python manage.py makemigrations pollsДжанго: Ошибка: Неизвестная команда: «makemigrations»

Unknown command: 'makemigrations' 

Вот link к учебнику, и я выполнил все предыдущие шаги успешно, и я не уверен, что происходит сейчас или как это исправить. 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

ответ

22

Миграция были впервые добавлена ​​в версии 1.7, официально выпущен 2 сентября 2014 года. Вам нужно убедиться, что ваш учебник соответствует версии Django, с которой вы работаете. Например, эта версия учебника охватывает 1,9:

https://docs.djangoproject.com/en/1.9/intro/tutorial01/

Или, если вы используете старую версию Django, вы можете изменить «1,9» в этом URL в любой версии вы на (обратно к 1.3). Или используйте раскрывающийся список на странице документов, чтобы выбрать версию и найти «учебник».

+0

Я даже добавил «Соу th 'in Installed_app и еще не работает –

+0

Также 'django.get_version()' дает мне '1.6'. Так что миграция не включена в эту версию? –

+2

Нет, миграция не включена в 1.6. Вы заметите, что учебник 1.6 не относится к ним. Что касается Юга, это не правильная команда для Юга. Я бы рекомендовал работать с учебником Django, прежде чем заниматься Югом, но если вы хотите включить его с самого начала, вам нужно будет проверить его документацию, например http://south.readthedocs.org/en/latest/tutorial/part1 .html # the-first-migration –

3

Узнайте, какую версию Джанго вы работаете (thanks @BradyEmerso п):

python -c "import django; print(django.get_version())" 

Если старше, чем 1.8:

pip install --upgrade django 
1

Я использую версию 1.9 и все еще получаю эту ошибку. У меня были непримененные миграции, и это было основной причиной в моем случае. Я применил «python manage.py migrate», чтобы применить их, и это сработало для меня.

1

В Джанго 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

1

Вам необходимо загрузить виртуальную среду, прежде чем делать это

source venv/bin/active 
Смежные вопросы