问题
运行python manage.py makemigrations时,一直无法识别app中的模型,一直报No changes detected
背景
第一次时迁移时运行成功,后面因为模块改变较大,直接把所有的表全删除了,然后把app/migrations目录中的内容也全清空了,试图重新迁移模型。以前都是采用这种方式,都没有问题,但今天碰到一删除后就再也无法识别自定义的模型了。
解决方法
- 按照网上说的解决方案,在app/migrations目录中创建__init__.py文件,重新运行python manage.py makemigrations,但问题依旧。(可能大部人通过这种办法能解决)
- 继续查找资料,浪费了很多时间,还尝试去看了源码。突然想到一个可能,会不会是手动创建的__init__.py文件有问题(编码什么的),于是从别的项目中复制了一个到app/migrations目录下,再次运行,问题成功解决!
# dengqingyong @ Deng-Mac in ~/PycharmProjects/yumen [19:36:15]
$ python manage.py makemigrations
Migrations for 'user_center':
user_center/migrations/0001_initial.py
- Create model System
- Create model User
- Create model Role
- Create model Resource