运行“python manage.py syncdb”的“未知命令 syncdb”

Posted

技术标签:

【中文标题】运行“python manage.py syncdb”的“未知命令 syncdb”【英文标题】:"Unknown command syncdb" running "python manage.py syncdb" 【发布时间】:2015-04-25 11:50:56 【问题描述】:

我想创建一个名为“database1.sqlite”的数据库的表,所以我运行命令:

python manage.py syncdb

但是当我执行命令时,我收到以下错误:

未知命令:'syncdb' 输入“manage.py help”以了解用法。

但是当我运行时

manage.py 帮助

我没有看到任何可疑的替代命令

python manage.py syncdb

我使用的 Python 版本:3.4.2 我使用的 Django 版本:1.9

如果有人能帮我解决这个问题,我将不胜感激。

提前致谢

【问题讨论】:

您好像有点提前了? :p django 1.8 不是 alpha 版吗? 你试过python manage.py migratedocs 感谢 por su apoyo。 Su resuelto @Archi --> 我安装了 beta 版本 1.9。当我使用视频教程来学习 Django 时,我决定安装与视频教程使用 1.6.2 相同的版本。 一个小讨论可以在这里找到***.com/questions/21402649/… 【参考方案1】:

如果您查看release notes for django 1.9,则删除了syncdb 命令。

请改用migrate。展望未来,migration commands would be as documented here

请注意,截至今天,django-1.9 版本还不稳定。

编辑:Django 1.9 现在稳定了

【讨论】:

感谢您的支持。解决了@Archi --> 我安装了 beta 版本 1.9。当我使用视频教程来学习 Django 时,我决定安装与视频教程使用 1.6.2 相同的版本。 如何加载灯具?在那之前很舒服【参考方案2】:

您可以从命令行或批处理文件中以“python.exe manage.py migrate”的形式从项目文件夹运行命令。 如果你真的需要 syncdb,你也可以将 Django 降级到旧版本(1.9 之前)。

对于尝试从 Visual Studio 2015 运行 Syncdb 的人: syncdb 选项已从 Django 1.9 中删除(从 1.7 中弃用),但此选项目前未在 VS2015 的上下文菜单中更新。

另外,如果您没有被要求创建超级用户,您应该手动运行以下命令来创建一个:python.exe manage.py createsuperuser

【讨论】:

【参考方案3】:

新的 django 1.9 删除了“syncdb”, 运行“python manage.py migrate”, 如果您尝试创建超级用户,请运行“python manage.py createsuperuser”

【讨论】:

【参考方案4】:

运行命令python manage.py makemigratons,然后python manage.py migrate 来同步。

【讨论】:

【参考方案5】:

Django 已经删除了python manage.py syncdb 命令,现在您可以简单地使用python manage.py makemigrations 后跟python manage.py migrate。数据库会自动同步。

【讨论】:

【参考方案6】:

在 Django 1.9 及以后的版本中,syncdb 命令被删除。因此,您可以使用migrate 命令而不是使用那个,例如:python manage.py migrate。然后您可以通过python manage.py runserver 命令运行您的服务器。

【讨论】:

【参考方案7】:

替代方式:

    从环境中卸载 Django 模块 编辑 Requirements.txt 一个 Django 类型 从环境中的要求选项运行安装 再次尝试 Syncdb

这对我有用。

【讨论】:

【参考方案8】:

$python manage.py syncdb 已弃用,现在不支持。 因此,请按照以下说明进行操作..

无论您创建了什么模型: 第一次运行:

$python manage.py makemigrations

运行此命令后,您的模型将反映在迁移中。

然后你必须运行:

$python manage.py migrate

然后运行服务器:

$python manage.py runserver

现在,您的项目将完美运行。

【讨论】:

那么夹具加载呢?一个命令就很舒服【参考方案9】:

我也试过这个命令。最后我找到了 django 的发行说明

1.9 中删除的功能

syncdb 命令被删除。

Djnago Releases note 1.9

【讨论】:

【参考方案10】:

我遇到了同样的问题,唯一对我有用的是这个命令。

python3 manage.py migrate --run-syncdb

运行这个让我得到了这个结果。

Ranvijays-Mac:djangodemo rana.singh$ python3 manage.py migrate --run-syncdb
Operations to perform:
  Synchronize unmigrated apps: messages, staticfiles
  Apply all migrations: admin, auth, contenttypes, msg, sessions
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
Running migrations:
  Applying msg.0001_initial... OK

【讨论】:

以上是关于运行“python manage.py syncdb”的“未知命令 syncdb”的主要内容,如果未能解决你的问题,请参考以下文章

JMeter笔记15 | JMeter场景运行

JMeter笔记15 | JMeter场景运行

在 spyder IDE 中,运行选择工作正常,运行文件保持运行/挂起

关于运行osgi插件时和运行环境相关的问题

运行里面怎么以管理员身份运行

linux下如何运行程序?