位置: 编程技术 - 正文

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

  • 个人出租房屋的个人所得税税率
  • 递延所得税资产和负债怎么理解
  • 增值税抵扣了,附加税怎么算
  • 其他应收款怎样做平
  • 公司购买的意外险属于个人还是公司
  • 金蝶软件预收账款明细
  • 研发支出期末需要结转吗
  • 其他应付款长期挂账违反什么规定
  • 特定业务预缴所得税不能填写
  • 备用金三栏式明细账图片
  • 公司并购股权转让协议
  • 扶贫费用事业单位账务处理怎么做?
  • 应付账款扣除商业折扣
  • 管理费用和财务费用算营业成本吗
  • 增值税发票可以抵税吗
  • 企业支付的工伤费用怎么入账
  • 开办公用品发票需要清单吗
  • 施工费增值税税率是9%
  • 商品销售税金及附加科目现在改了吗
  • 实缴资本是真的吗
  • 股权购买会计分录
  • 销售商品货款已预收
  • 公积金是否计入个人所得税
  • 收境外的钱
  • 拆迁补偿款需要交企业所得税吗
  • 销售固定资产的收入计入什么科目
  • 公司支出的消防费用
  • php字符串操作函数
  • 税务登记 申报
  • php入门基础教程
  • 逾期包装物押金收入计入什么科目
  • php文字转语音源码
  • thinkphp查询版本号
  • 木质家具出口
  • 冰山从哪里来
  • 会计中持有至到期投资是什么意思
  • 固定资产提前报废
  • 员工报销医药费的会计分录
  • 关于高德地图的分析报告
  • 帝国cms配置数据库
  • 转账有手续费没有
  • 律师事务所执业证
  • 变更法人需要什么流程
  • 一般纳税人怎样申请简易计税
  • sql server异常怎么处理
  • python copyto
  • 小规模企业每月收入多少可以不纳税
  • 删除mysql57服务
  • 普票红冲要不要去收回发票联?
  • sql语句取并集
  • 餐饮行业的个体工商户怎么交税
  • 工会经费的会计分录2022
  • 水泥建材销售公司有哪些
  • 开出增值税发票确认收入分录?
  • 公司市场部门有什么职位
  • 小规模纳税人购入固定资产怎么做账
  • 新公司几个月不报税
  • 销售出库单需要盖章吗
  • 预包装食品加工及销售营业执照图片
  • 年报和汇算清缴的顺序
  • 关联公司往来款怎么做账
  • 商业承兑汇票和银行承兑汇票的区别
  • xbox预览系统
  • centos占用内存高
  • win8.1怎么升级成win7
  • linux route -n命令结果详解
  • win7或win8、win8.1系统下安装ubuntu实现双系统图文教程
  • 苹果发布首款MR头显
  • microsoft/微软
  • centos挂载lvm硬盘
  • 32位win7安装
  • win8右侧栏设置
  • android网络请求时怎么取消
  • unity2d shader
  • 从零基础开始
  • js金额加减
  • 什么是javascrip
  • unity中滚动条控件详解
  • 财税刘毅
  • 河北国家税务局发票查询系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设