位置: 编程技术 - 正文

django model去掉unique_together报错的解决方案(django modelform)

编辑:rootadmin

推荐整理分享django model去掉unique_together报错的解决方案(django modelform),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:django的models,django unicorn,django unicorn,django modelviewset,django models.py,django modelform,django中的model,django modelform,内容如对您有帮助,希望把文章链接给更多的朋友!

事情是这样的,我有一个存储考试的表

category 表示考试的类型, date 表示考试的日期。建表的时候考虑到一个类型的考试在同一个应该只有一个考试,所以就加了一个 unique_together 。但是由于业务需要,这个 unique_together 不需要了。

用过 django 的人都知道,这不是个大问题,删掉 unique_together 的代码,然后 makemigrations 呗,确实,我就这么做了。但是当我 migrate 的时候却报错了,错误如下:

数据库不让我删除这个 index ,并且告诉我有一个 外键约束 用到了这个它。我就奇怪了,category是外键没错,但是我这个是 unique_together 啊,怎么可能有哪个外键用到了它呢?

django model去掉unique_together报错的解决方案(django modelform)

没办法,我只能到数据库里寻找答案, show create table exam ,输出如下:

可以看到 UNIQUE KEY 那一行就是 unique_together ,下面一行是 category 外键。没有其他东西了啊,到底哪个外键用到了我们的 unique_together ?

外键只能是 category 了,也没有别的外键啊。到底是怎么回事呢?

原因是这样的: 在Mysql中外键会自动在表上添加一个index ,也就说如果没有unique_together,我们的表应该是这样的:

但是因为有了 unique_together 的 unique_key ,并且 category 在联合索引的左边,根据 最左前缀 原则, category 的索引就有了,所以就不会另外建索引,这个时候 category 的外键约束就依赖了这个 unique_key ,所以删除的时候会出现那样的报错。

机智的小伙伴应该想到了,如果我们要去掉 unique_together ,我们可以将 category 的 KEY 加回去,这样就可以将 unique_together 删掉了。 sql 如下:

这样,migrate就能成功了。

python 队列详解及实例代码 队列特性:先进先出(FIFO)——先进队列的元素先出队列。来源于我们生活中的队列(先排队的先办完事)。Queue模块最常与threading模块一起构成生产-消

python 异常处理总结 最近,做个小项目经常会遇到Python的异常,让人非常头疼,故对异常进行整理,避免下次遇到异常不知所措,以下就是对Python异常进行的整理。1.Python异

Python 序列的方法总结 最近在做Python的项目,特地整理了下Python序列的方法。序列sequence是python中最基本的数据结构,本文先对序列做一个简单的概括,之后简单讲解下所有序

标签: django modelform

本文链接地址:https://www.jiuchutong.com/biancheng/384428.html 转载请保留说明!

上一篇:django批量导入xml数据(django批量上传图片)

下一篇:python 队列详解及实例代码(python队列只能一个个读取吗)

  • 小微企业免税销售额是按1%还是3%
  • 预收账款怎么做财务分析报告
  • 现金日记账1月怎么算
  • 房东收到房租转让费会计处理
  • 企业所得税汇算清缴申报表
  • 国外包裹退回费用
  • 计提和缴纳企业所得税分录
  • 发票没有认证怎么报销
  • 权责发生制和收付实现制是会计基础吗
  • 财产租赁合同印花税优惠政策
  • 政府补贴装修费怎么算
  • 公司理财收益账务处理
  • 小规模纳税人怎么判断
  • 进口关税完税价格
  • 办公室租赁合同需要交那些税?
  • 营业执照里承办什么业务
  • 五险一金缴税基数
  • 报废固定资产收入计入什么科目
  • 个税申报所属期和所得期
  • 向关联企业支付管理费用可以税前扣除吗
  • 酒店固定资产明细表范本
  • 资产评估溢价部分如何处理?
  • u盘ghost下载
  • php获取远程文件扩展名
  • 在win7系统中将打开窗口拖到屏幕顶端
  • 结转待抵扣
  • 长期借款和应付利息
  • 土地增值税内控报告
  • 企业所得税直接法和间接法
  • 销售多余材料的收入会计分录
  • 不动产出租要交什么税
  • 工业企业在进行材料采购
  • 支付境外培训费要交税吗
  • php ftp函数
  • vue err
  • 长期应付款列报为什么是后一年的
  • 图像边缘检测的基本原理
  • 去年计提的费用所得税汇算清缴之前冲销就不调整吗
  • phpcms怎么样
  • phpcms视频教程
  • 土地作为无形资产摊销年限
  • php前台模板
  • 财务上大写数字420.1怎么写
  • 政府会计准则的双报告
  • 钢管租赁行业会计账务处理
  • 撤销红字发票申请表
  • sql 封装
  • 企业筹建期间是什么
  • 城市维护建设税属于中央还是地方
  • 已出库的成品退货怎么办
  • 费用报销单如何粘贴票据
  • 一般纳税人增值税怎么算
  • 工程物资属于什么项目
  • 公司代缴的社保能不能取出来
  • 如何做好工程后期维保
  • 负数发票要交税吗
  • 残次品销售计入什么科目
  • 坏账准备纳税调增吗
  • 商品流通企业进货费用
  • 有存货的公司
  • mysql5.7.29安装
  • mysql5.7.19 zip 详细安装过程和配置
  • win7 光盘
  • windows任务管理
  • xp系统安装流程图
  • xp系统怎么调出任务管理器
  • linux ultrasphinx Anonymous modules have no name to be referenced by
  • centos暂停
  • ES6 javascript的异步操作实例详解
  • 自定义dialogfragment
  • cmd命令行
  • nodejs接入微信支付
  • js复制对象的方法有哪几种
  • js选中div
  • 城管大队长级别高吗
  • 广东国税局发票查询平台
  • 腾讯 短信服务
  • 残疾人在国企有补贴吗
  • 表彰税务工作者们的活动策划
  • 福建省狱警招聘医生
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设