Django manage.py未知命令:'syncdb'

jef*_*eff 57 python django syncdb django-syncdb

我正在尝试按照本教程,但我坚持第5步.

当我执行

[〜/ Django Projects/netmag $] python manage.py syncdb

我收到以下错误消息:

Unknown command: 'syncdb'
Type 'manage.py help' for usage.
Run Code Online (Sandbox Code Playgroud)

这里是./manage.py help不包含syncdb命令的输出.我该如何添加?

谢谢你的帮助!

编辑:

当我运行迁移时,我收到此错误:

"创建新内容类型时出错.请确保contenttypes"RuntimeError:创建新内容类型时出错.在尝试单独迁移应用之前,请确保迁移了contenttypes.

在settings.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',
]
Run Code Online (Sandbox Code Playgroud)

编辑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?
Run Code Online (Sandbox Code Playgroud)

cat*_*ran 180

syncdb命令在django 1.7中已弃用.使用python manage.py migrate来代替.

  • 如果您的旧应用程序没有迁移,则可以运行`manage.py migrate --run-syncdb`. (11认同)

小智 12

你必须使用python manage.py migrate而不是python manage.py syncdb


Kis*_*dra 10

运行 python manage.py makemigrations 以下结果

Migrations for 'blog':
blog/migrations/0001_initial.py:
- Create model Blog
Run Code Online (Sandbox Code Playgroud)

然后在 下面运行python manage.py migrate 结果

Operations to perform:
Apply all migrations: admin, blog, auth, contenttypes, sessions
Running migrations:
Applying article.0001_initial... OK
Run Code Online (Sandbox Code Playgroud)


Sai*_*jee 6

实际的命令是:

python manage.py migrate --run-syncdb

Run Code Online (Sandbox Code Playgroud)

它将解决 django 中的许多错误,例如,操作错误,在数据库中找不到表等。