django.db.utils.databaseerror,

  django.db.utils.databaseerror,

  django . db . utils . internal error:(1061,技术博客重复键名_ 12351702 _博客

  代码:

  注意:在idc_name中,unique=True

  idc_list类(型号。型号):

  city=models . charfield(max _ length=32,verbose _ name= city ,help_text=如上海/烟台/洛阳/武汉等)

  IDC _ name=models . charfield(unique=true,max _ length=32,verbose _ name= IDC name ,help_text=城市名称,道路名称,运营商名称如上海-大秀路-万国)

  Cur _ state=models.integer字段(choices=status _ choices,verbose _ name=当前状态,default=1,help_text=是:表示正在使用,否:表示已停用)

  update _ time=models . datetime field(verbose _ name=更新时间,auto_now=True)

  remark=models . charfield(max _ length=32,verbose _ name= remarks ,null=true,blank=true)Python manage . py migrate

  时间误差:

  django . db . utils . internal error:(1061,重复的密钥名 CMDB _ IDC _ list _ IDC _ name _ 8ce 6 f 945 _ uniq )

  解决方案:

  连接到数据库,删除、保存并重新迁移该约束字段。

  如果一次修改模型中的多个字段时报错,需要同时删除数据库中多个字段的唯一性,重新运行。

  问题的原因:

  经过测试,发现django的migrate不是事务性的,而是一个一个执行的。

  也就是说,如果后面的动作因为某种原因被报错,那么前面的动作就会被执行。如果我的“操作”在报告为错误的操作之前,它将导致我的操作完成。事实上,这个“约束”已经存在于数据库中。当你修复了其他bug,想再次运行migrate时,他会调用生成的“migrations file”。这个文件又包含了“unique”的动作,会提示你它已经存在了。

  转载请联系作者获得授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: