django 报错django (1060, "Duplicate column name


这个原因是因为 之前执行过

py manage.py migrate  

py  manage.py makemigrations 

这俩迁移命令  但是并没有全部迁移成功,比如我是因为model下某个class长度原因导致其中的某一个class失败,但是在失败class之前的class成功了。这个class已经成功迁移到数据库中了,例如

django 报错django (1060, "Duplicate column name

当我对失败的models.py下的class更改后如下图

django 报错django (1060, "Duplicate column name

再次执行

py manage.py migrate  

py  manage.py makemigrations 

就报错1060



django 报错django (1060, "Duplicate column name

解决方案

找到对应app下的migrations文件夹下 删掉对应新生成的文件,如果找不多对应数据的话最好将除了init_py保留其余的全部删掉

django 报错django (1060, "Duplicate column name

我的是在3和4下 我就直接删掉3和4了

django 报错django (1060, "Duplicate column name

然后在数据库中删除 重复的表ALTER TABLE 表名 DROP COLUMN fankuineirong1;

django 报错django (1060, "Duplicate column name


查看是否删除成功

django 报错django (1060, "Duplicate column name

接下来重新迁移

py manage.py migrate  

py  manage.py makemigrations

django 报错django (1060, "Duplicate column name

 

django 报错django (1060, "Duplicate column name

成功了

然后查看数据库里是否也迁移过来了


django 报错django (1060, "Duplicate column name

看见成功了