尝试按照Django project上的教程。
我遇到的问题是执行命令时:
python manage.py sql polls
我收到了错误:
CommandError:App'polls'有迁移。只有当应用程序具有迁移时才能使用sqlmigrate和sqlflush命令
到目前为止,我似乎无法在互联网或本网站上找到任何有关该计划解决方案的指南。
答案 0 :(得分:31)
您可以运行python manage.py makemigration
后跟python manage.py migrate
,也可以只删除迁移文件夹
答案 1 :(得分:18)
问题是您在浏览1.6教程时正在使用Django 1.8
。请注意tutorial开头的第一句话:
本教程是为Django 1.6和Python 2.x编写的。如果是Django 版本不匹配,您可以参考您的版本的教程 Django通过使用右下角的版本切换器 这个页面,或者将Django更新到最新版本。
在您的情况下,要么降级到1.6,要么使用tutorial for the development (currently 1.8) version。
答案 2 :(得分:3)
只需删除文件夹app-name/migrations
。
在Django 1.7
和Python 3.4
我找到的解决方案是删除此文件夹,现在一切正常。
答案 3 :(得分:0)
使用django 1.7,而不是删除app-name / migrations文件夹,在您网站的MIGRATION_MODULES条目中,您可以通过添加一些虚拟字符串,使用不存在的模块名称重命名应用程序字典值:
MIGRATION_MODULES [' my_app'] + =' _xx'
然后manage.py sqlclear my_app工作正常。
答案 4 :(得分:0)
在Django 1.8中,您应该运行另一个命令 - makemigrations [您的应用名称]:
addRule()
您应该看到类似于以下内容的内容:
$ python manage.py makemigrations polls