Django manage.py Неизвестная команда: 'syncdb'

Я пытаюсь следовать этому руководству, но застрял на пятом шаге.

Когда я выполняю

[~/Проекты Джанго/netmag$] python manage.py syncdb

Я получаю следующее сообщение об ошибке:

Unknown command: 'syncdb'
Type 'manage.py help' for usage.

а вот вывод ./manage.py help не содержит команды syncdb. Как добавить?

Спасибо за любую помощь!

Редактировать :

Когда я запускаю миграцию, я получаю эту ошибку:

«Ошибка при создании новых типов контента. Убедитесь, что типы контента» RuntimeError: Ошибка при создании новых типов контента. Прежде чем пытаться перенести приложения по отдельности, убедитесь, что типы содержимого перенесены.

в настройках.py:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admindocs',
    'blog',
]

Редактировать 2:

Если я удалю 'blog', из settings.py:

:~/Django Projects/netmag$ python manage.py migrate blog
CommandError: App 'blog' does not have migrations. 

:~/Django Projects/netmag$ python manage.py makemigrations blog 
App 'blog' could not be found. Is it in INSTALLED_APPS?

person jeff    schedule 11.02.2015    source источник
comment
Вы редактировали настройку INSTALLED_APPS? Вы должны разместить свое приложение после всех приложений django в этом списке. Кстати, я предлагаю вам использовать официальное руководство для изучения django: docs.djangoproject. com/en/1.7/intro/tutorial01   -  person catavaran    schedule 11.02.2015
comment
@катаваран Спасибо. Я попробую этот урок завтра. Также я добавляю к вопросу список INSTALLED_APPS.   -  person jeff    schedule 11.02.2015


Ответы (4)


Команда syncdb устарела в django 1.7. Вместо этого используйте python manage.py migrate.

person catavaran    schedule 11.02.2015
comment
Спасибо! Я удивлен, что Google не обратил на это моего внимания :D - person jeff; 11.02.2015
comment
Попробуйте удалить приложение из INSTALLED_APPS и снова запустить migrate. Ошибка все еще возникает? - person catavaran; 11.02.2015
comment
Я вставил результат в вопрос - person jeff; 11.02.2015
comment
Хм. Верните blog обратно в INSTALLED_APPS, а затем запустите python manage.py migrate contenttypes? - person catavaran; 11.02.2015
comment
Вы можете запустить manage.py migrate --run-syncdb, если у вас есть старые приложения, в которых нет миграции. - person alexef; 10.12.2015

Вы должны использовать python manage.py migrate вместо python manage.py syncdb

person sohil sharma    schedule 12.04.2016

Выполнить python manage.py makemigrations результат ниже

Migrations for 'blog':
blog/migrations/0001_initial.py:
- Create model Blog

и после этого запустить python manage.py migrate результат ниже

Operations to perform:
Apply all migrations: admin, blog, auth, contenttypes, sessions
Running migrations:
Applying article.0001_initial... OK
person Kishore Chandra    schedule 24.09.2016

Вы можете сделать это поэтапно, допустим, у вас есть приложение с названием «пример»:

  1. Запустите пример python manage.py makemigrations
  2. Число генерируется как «0001», получает номер
  3. Запустите python manage.py sqlmigrate example 0001, используя номер. Проверьте сценарии.
  4. Запустите пример миграции python manage.py 0001

Вы также можете просмотреть все свои миграции следующим образом: python manage.py showmigrations.
Если вы не хотите их фиксировать, перейдите в папку и переместите их куда-нибудь или удалите перед выполнением шага 4.

person Marc Guvenc    schedule 18.04.2020