Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python CommandError:App';书籍';有迁移。应用程序进行迁移时,只能使用sqlmigrate和sqlflush命令_Python_Django - Fatal编程技术网

Python CommandError:App';书籍';有迁移。应用程序进行迁移时,只能使用sqlmigrate和sqlflush命令

Python CommandError:App';书籍';有迁移。应用程序进行迁移时,只能使用sqlmigrate和sqlflush命令,python,django,Python,Django,我正在努力学习pythondjango。 我想制作名为books的自助应用程序 当我运行这个命令时 $ python manage.py sqlall books 出现以下错误 CommandError:应用程序“books”已迁移。应用程序进行迁移时,只能使用sqlmigrate和sqlflush命令 我不明白为什么会出现这种错误,这意味着什么?任何帮助都将不胜感激。谢谢在键入python manage.py sqlall--help之后我得到了以下信息: 打印给定模型模块名称的创建表、自定

我正在努力学习
pythondjango
。 我想制作名为books的自助应用程序

当我运行这个命令时

$ python manage.py sqlall books
出现以下错误

CommandError:应用程序“books”已迁移。应用程序进行迁移时,只能使用sqlmigrate和sqlflush命令


我不明白为什么会出现这种错误,这意味着什么?任何帮助都将不胜感激。谢谢

在键入
python manage.py sqlall--help之后
我得到了以下信息:

打印给定模型模块名称的创建表、自定义SQL和创建索引SQL语句。


它打印用于创建这些表的SQL。由于它们已经存在,Django不会打印它们,而是指示使用
sqlmigrate
(打印特定迁移的SQL)或
sqlflush
(打印将表返回到初始状态的SQL)。

来自Django的文档

django-admin.py sqlall

打印给定对象的CREATE TABLE和初始数据SQL语句 应用程序名称

在从1.7开始的django的更高版本中,您也可以这样做:

python manage.py sqlmigrate appname migration\u name

正如您遵循django教程一样,对于您的案例,这将是

python manage.py sqlmigrate books 0001

这在django 1.8中对我有效。您可以从的文档中阅读更多内容

django管理sqlmigrate

打印命名迁移的SQL。这需要一个活动的数据库连接,它将使用该连接解析约束名称;这意味着您必须针对希望稍后应用SQL的数据库副本生成SQL


出于好奇,哪个dkango版本?我如何找到
迁移名称
?您可以在
项目/app/migrations
文件夹中找到您的所有迁移。谢谢。我发现这个命令也是
python manage.py migrate--list
仅供参考:在较新版本的django中--list不再起作用。相反,您必须运行“/manage.py showmigrations”