位置: 编程技术 - 正文

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队列只能一个个读取吗)

  • 一般纳税人财务要求
  • 印花税减免优惠政策2020
  • 库存商品余额在借方
  • 企业信用公示的时效是多久
  • 农产品增值税加计扣除最新政策2021
  • 经营性投资是什么
  • 8.会计核算方法具体包括哪些内容?
  • 自查补税申报表
  • 经营活动现金流量公式
  • 微信小程序需要授权怎么设置
  • 归属于母公司的净资产
  • 服装纳税税率
  • 开技术服务费发票怎么做账
  • 小规模纳税人收到专票后如何处理
  • 营改增医院增值税
  • 无形资产出售收入属于营业收入吗
  • 高温补贴领取
  • 利息收入为什么是负数
  • 购买未完工的厂房会计分录
  • 上期留抵税额计算
  • 会务费税率是多少 2021
  • 小规模纳税人出租不动产税率是5%还是3%
  • 纳税人必须关注的10个涉税风险点
  • 建筑行业印花税税率
  • 去年盈利今年亏损怎么表达
  • 土地增值税的纳税人是在我国境内
  • 发票冲红后多交多少税
  • 利息支出为什么不是经营成本
  • 计提坏账准备的比例
  • 增值税纳税人申报表怎么填写
  • 吊兰怎么养才能开花
  • 长期待摊费用的概念
  • 盆栽玉树的养殖方法
  • 辅导期纳税人注意事项
  • php是面向对象编程吗
  • openai创始人阿尔特曼 取向
  • 简述时期指标和时点指标的特点
  • opencv的函数
  • ue4ui界面制作
  • opencv教程
  • println参数
  • sensor tester
  • 劳务派遣的开票税点是多少
  • 会计利润属于什么会计科目
  • 工伤鉴定费计入什么科目
  • 以前年度是什么意思
  • 本年利润期末需要结转吗
  • 贷方是收入还是借方是收入
  • 附加税税率是指
  • 合同资产和合同负债的区别
  • 股东出资资本金可以是问别人借来的吗
  • 融资租赁固定资产不属于筹资活动
  • 公司主要产品
  • 单式记账法缺点是什么
  • 可转换债券发行主体
  • 开了发票就要交税吗?
  • 可交换债券发行方的会计处理
  • 销售毛利率越高越好吗
  • sql server常用
  • winload是什么
  • Win7 64位系统声卡重装过程中出现失败的解决方法
  • win8怎么打开系统设置
  • windows xp登录无法进入桌面
  • linux系统怎么增大磁盘io
  • win10系统语言包安装方法
  • 在linux中使用ssh远程调试后目标板的输出在哪里
  • jquery地址
  • shell脚本编写
  • webuploader使用教程
  • css中边界margin的多种定义方法
  • linux系统启动进程命令
  • js表单序列化
  • jquery自定义表单
  • 利用python进行
  • 外埠企业如何在经营地缴税
  • 如果贸易后y产品的相对价格下降很大的话
  • 南通买房首付规定
  • 甘肃税务网上办税服务厅
  • 内蒙古个人所得税app下载
  • 内蒙古包头东河机场
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设