Django中进行数据迁移,如果出现No changes detected,是因为models所在的应用没有在项目中注册导致的,参考下面的操作来解决。
我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。
报错现象
在Django的models中定义好class,尝试生成迁移的时候出现以下报错
(django) [fuhx@testmachine HelloDjango]$ python manage.py makemigrations
No changes detected
(django) [fuhx@testmachine HelloDjango]$
出错的原因是models文件所在的应用没有在项目中注册导致的。
注册应用
打开settings.py
,在INSTALLED_APPS
中添加应用的名字。例如我的应用叫App
,就像下面这样写
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'App',
]
报错解决
再次尝试生成迁移,就成功了
(django) [fuhx@testmachine HelloDjango]$ python manage.py makemigrations
Migrations for 'App':
App/migrations/0001_initial.py
- Create model Student
(django) [fuhx@testmachine HelloDjango]$
防范再次出现
为了防范这种报错再出现,以后新建了应用以后首先进行注册。