1.没有给注册的app迁移
python manage.py makemigrations
时仅能识别django自带的auth、token之类的数据model,但是我们自己开发的app中的model却不能识别。
解决方法1:是在我们自己开发的app目录下创建一个目录migrations,里面放上一个空的__init__.py文件,然后再
python manage.py makemigrations
就可以识别了。
起始django在startapp时已经带了这个目录,只不过git仓库在处理时会忽略空目录、空文件,所以就导致这个目录和文件丢失了,所以只要创建一个空的自然就识别好了。
解决方法2:指定app名称迁移
python manage.py makemigrations appname
这样它会自己给你创建这些文件并迁移
- 禁止在未迁移生成表前执行查询表的语句,否则会在迁移时就报错表不存在
比如一些导入时执行的语句中含有表操作的语句,那迁移的时候就会报错了,你可以惰性执行,也可以先屏蔽掉这些代码再迁移。