django.db.utils.InternalError: (1061, "Duplicate key name
发布时间:2022-09-15 05:49:15 316
相关标签: # python# django# 数据库# 数据
代码:
注意看:idc_name中的unique=True
python manage.py migrate
时报错:
django.db.utils.InternalError: (1061, "Duplicate key name 'cmdb_idc_list_idc_name_8ce6f945_uniq'")
解决方案:
连接到数据库内把这个约束字段删除,保存,重新migrate
如果一次修改了models内的多个字段时报错的,需要同时删除数据库内的多个字段的unique后重新运行。
问题原因:
经过测试,发现django的migrate,不是事务性的,是逐个动作执行的。
也就是说如果后面的动作由于某种原因报错了,前面的动作会执行,我的这个"operations"如果在报错的动作前面,就会导致我这个动作执行完成,实际上数据库内已经存在了这条“约束”,等你修改好其他bug想再运行migrate时他会调用已经产生的”migrations 文件“,这个文件内有再次执行”unique“的动作,此时就会提示你已经存在。
文章来源: https://blog.51cto.com/u_12361702/5663331
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报