对django 模型 unique together的示例讲解


Posted in Python onAugust 06, 2019

unique_together

这个元数据是非常重要的一个!它等同于数据库的联合约束!

举个例子,假设有一张用户表,保存有用户的姓名、出生日期、性别和籍贯等等信息。要求是所有的用户唯一不重复,可现在有好几个叫“张伟”的,如何区别它们呢?(不要和我说主键唯一,这里讨论的不是这个问题)

我们可以设置不能有两个用户在同一个地方同一时刻出生并且都叫“张伟”,使用这种联合约束,保证数据库能不能重复添加用户(也不要和我谈小概率问题)。在Django的模型中,如何实现这种约束呢?

使用unique_together,也就是联合唯一!

比如:

unique_together = (('name', 'birth_day', 'address'),)

这样,哪怕有两个在同一天出生的张伟,但他们的籍贯不同,也就是两个不同的用户。一旦三者都相同,则会被Django拒绝创建。这一元数据经常被用在admin后台,并且强制应用于数据库层面。

unique_together接收一个二维的元组((xx,xx,xx,...),(),(),()...),每一个元素都是一个元组,表示一组联合唯一约束,可以同时设置多组约束。为了方便,对于只有一组约束的情况下,可以简单地使用一维元素,例如:

unique_together = ('name', 'birth_day', 'address')

联合唯一无法作用于普通的多对多字段。

以上这篇对django 模型 unique together的示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python通过scapy获取局域网所有主机mac地址示例
May 04 Python
python实现在windows下操作word的方法
Apr 28 Python
python 读取excel文件生成sql文件实例详解
May 12 Python
几种实用的pythonic语法实例代码
Feb 24 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
selenium+python自动化测试之页面元素定位
Jan 23 Python
Jacobi迭代算法的Python实现详解
Jun 29 Python
python每天定时运行某程序代码
Aug 16 Python
Pandas DataFrame中的tuple元素遍历的实现
Oct 23 Python
python3跳出一个循环的实例操作
Aug 18 Python
基于CentOS搭建Python Django环境过程解析
Aug 24 Python
python自动统计zabbix系统监控覆盖率的示例代码
Apr 03 Python
python django model联合主键的例子
Aug 06 #Python
django多文件上传,form提交,多对多外键保存的实例
Aug 06 #Python
详解python中的index函数用法
Aug 06 #Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
Aug 06 #Python
对Django url的几种使用方式详解
Aug 06 #Python
Python 保持登录状态进行接口测试的方法示例
Aug 06 #Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
Aug 06 #Python
You might like
php编写一个简单的路由类
2011/04/13 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
2014/01/17 PHP
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
php中session使用示例
2014/03/29 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
javascript作用域和闭包使用详解
2014/04/25 Javascript
JavaScript中操作Mysql数据库实例
2015/04/02 Javascript
Java中Timer的用法详解
2015/10/21 Javascript
js判断图片加载完成后获取图片实际宽高的方法
2016/02/25 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
jQuery实现用户信息表格的添加和删除功能
2017/09/12 jQuery
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
react 移动端实现列表左滑删除的示例代码
2019/07/04 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
Python正则表达式使用范例分享
2016/12/04 Python
简单谈谈Python中的几种常见的数据类型
2017/02/10 Python
使用C++扩展Python的功能详解
2018/01/12 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
python文件及目录操作代码汇总
2020/07/08 Python
python脚本定时发送邮件
2020/12/22 Python
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
新东网科技Java笔试题
2012/07/13 面试题
企业授权委托书范本
2014/04/02 职场文书
购房委托书范本
2014/09/18 职场文书
2014乡镇干部对照检查材料思想汇报
2014/09/26 职场文书
合作意向书怎么写
2019/06/24 职场文书
python基础入门之普通操作与函数(三)
2021/06/13 Python
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python