下面是数据表迁移的问题,即执行makemigrations后发现如下问题:
1.
这个问题出现的原因有可能是数据库表的确没有发生任何变化所以没有检测到变化,还有一个原因是发生变化而没有检测出来,那么我们可以用python manage.py makemigrations app名字 (即进入具体的APP名字去检测数据库的变化) 然后再执行python manage.py migrate app名字
2.假如是你新把一个项目刚拉下来,数据库你也是新建的,那么第一次配置好项目后,你只需要同步一下迁移文件就行,即运行manager.py之前 先去 python manage.py migrate 同步生成一下数据库的表就OK
3.假如你迁移过成中出现如下报错信息:
django.db.utils.InternalError: (1054, "Unknown column 'name' in 'django_content_type'")
那么你可以
在数据库中手动添加没有创建的字段:
4.迁移报错
这是由于某个字段的不可空但是没默认值,我们可以打开百度翻译下:
您试图在没有缺省值的情况下向venuecategoryactivityprice添加一个不可空字段“venue_category”;我们不能那样做(数据库需要一些东西给popu)
现有的行)。
请选择一个修复:
1)现在提供一次性默认值(将在所有现有行上设置此列的null值)
退出,让我在models.py中添加一个默认值
那么我们就可以两种选择 都在上面翻译中,大家根据自己选择进行操作
5.如果迁移不成功 那么尝试把你变动的app下面的migrations里面的迁移文件除了__init__.py之外的全部删除,然后再执行相关数据库迁移操作