Django: ошибка: неизвестная команда: 'makemigrations'

К сожалению, re.escape() не подходит для заменяющей строки:

>>> re.sub('a', re.escape('_'), 'aa')
'\\_\\_'

Решение состоит в том, чтобы поместить замену в лямбда:

>>> re.sub('a', lambda _: '_', 'aa')
'__'

, потому что возвращаемое значение лямбда обрабатывается re.sub() как литеральная строка.

24
задан Mona Jalal 27 November 2013 в 18:30
поделиться

7 ответов

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

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

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

22
ответ дан Rohan Khude 27 November 2013 в 18:30
поделиться

Узнайте, какую версию django вы используете (, спасибо @BradyEmerso n):

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

Если старше 1,8:

pip install --upgrade django
3
ответ дан Community 27 November 2013 в 18:30
поделиться

В 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

2
ответ дан bhatt ravii 27 November 2013 в 18:30
поделиться

Я сделал следующее (для python версии 3.6.4), чтобы решить эту проблему:

  1. install virtualenv
  2. Активировать virtualenv

Приветствия

0
ответ дан Akshay Lokur 27 November 2013 в 18:30
поделиться

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

2
ответ дан Kunal Priyadarshi 27 November 2013 в 18:30
поделиться

Впервые я добавляю следующий фрагмент кода в файл имя_проекта \ 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',`
0
ответ дан Sibel Kahraman 27 November 2013 в 18:30
поделиться

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

Используйте приведенный ниже код для Linux / OSX:

source venv/bin/active

И следующий код для Windows

source venv/Scripts/activate
2
ответ дан Kano 27 November 2013 в 18:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: