使用python manage.py makemigrations时提示No changes detected
试了很多网上的方法,都没成功,最后自己摸了半天搞出来了
因为是小组同步代码,别人已经生成了数据库成功了,然后push代码到github上,我再下拉,把这个成功的缓存给拉下来了,所以要清除生成数据库成功的缓存
去项目下的migrations本地文件夹下删除缓存文件夹(我这里是_pycache_)
然后还有很关键的一点去本地django库里删除相关缓存(_pycache_),我的路径是这个
E:\Python\Lib\site-packages\django 下的_pycache_
E:\Python\Lib\site-packages\django\apps下的_pycache_
E:\Python\Lib\site-packages\django\core下的_pycache_
E:\Python\Lib\site-packages\django\core\cache下的_pycache_
E:\Python\Lib\site-packages\django\core\serializers下的_pycache_
删完后去navicati删除所有数据库表,可以删库后重建一个同名的库
然后要执行 python manage.py makemigrations \-\-empty appname (这里一般是你的项目名,也就是migrations文件夹的上一层文件夹名,如果没有就要去settings.py里的INSTALLED_APPS注册,例如我的注册名”tuple_label.label”,我的appname就叫label)
这个时候可以通过 python manage.py showmigrations 查看一下migrations里存了什么,确定是否正确,如果有问题,回到最上面重新生成
最后一步 python manage.py migrate 就大功告成啦
如果还有不能解决的,比如生成appname那步有问题的,先试试改下