Подтвердить что ты не робот

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

4b9b3361

Ответ 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

Ответ 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','