我正在浏览django文档。在这里我有一个情况。在其中一个文档中,我被告知要做
python manage.py migrate
而在另一个
python manage.py syncdb
我不能做第一个(错误:找不到迁移命令。)但第二个对我来说很好。这是版本问题还是我需要处理其他问题。
答案 0 :(得分:7)
migrate
命令在即将发布的Django 1.7中是新的,尚未发布。
对于早期版本,您可以使用syncdb
或外部应用South。
阅读文档时,请使用文档版本切换器选择正确的版本。
例如,当前1.6 Tutorial使用syncdb
,但dev tutorial(为即将到来的1.7编写)使用migrate
。
答案 1 :(得分:6)
命令migrate
属于名为south(http://south.aeracode.org/)的应用程序。
来自网站:
这是Django项目的南方智能模式和数据迁移。
在Django == 1.7之前,您必须安装第三方应用程序才能执行数据库迁移。
请参阅readthedocs
上的文档答案 2 :(得分:2)
这取决于您正在阅读的文档版本。 migrate
是来自South的命令,直到最新(当前开发或开发)版本的django是一个单独的应用程序。它最终被集成到Django中(基本上每个django项目当然都使用它,所以非常值得阅读。)
在django文档页面的右下角有一个选择器,你可以在不同版本的Django之间切换,所以如果你正在寻找你的项目的信息,最好更改为Django的版本你'目前正在使用。