给model.py文件增加新的模型类,执行迁移时候发现出现如下错误


看了0003_auto_xxxx迁移文件,发现原来之前我修改过一个模型的字段名,default_image_url改为default_image。执行python manage.py makemigrationgs后,最新的迁移文件会把之前做过修改的执行操作都自动生成到最新的迁移文件上(也就是迁移会依赖上一个迁移文件)。造成再次迁移时候会重复操作。因为名字改好了,所以找不到default_image_url这个字段,自然报错。

解决办法:
1.手动注释掉0003_auto_xxxx迁移文件中删除、添加字段的代码

但这个方法治标不治本,下次有增删新的模型类或字段,又会同样报错。
2.治本方法,将这个模型类所在的子应用下migrations文件里所有的迁移文件都删除。然后再执行python manage.py makemigrations和python manage.py migrate。就可以了。
本文讲述了在Python Django中遇到模型字段名变更导致迁移冲突的问题,分享了手动注释迁移文件和彻底删除迁移文件的方法,并推荐了长期有效的解决方案。
2600

被折叠的 条评论
为什么被折叠?



