运行“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 migrate
docs
感谢 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”的主要内容,如果未能解决你的问题,请参考以下文章