对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 if 判断选择结构的实例详解
May 06 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
May 07 Python
python基于递归解决背包问题详解
Jul 03 Python
浅谈python3中input输入的使用
Aug 02 Python
PyTorch之图像和Tensor填充的实例
Aug 18 Python
django认证系统实现自定义权限管理的方法
Aug 28 Python
python 如何去除字符串头尾的多余符号
Nov 19 Python
Python爬虫基于lxml解决数据编码乱码问题
Jul 31 Python
matplotlib基础绘图命令之errorbar的使用
Aug 13 Python
Python 处理日期时间的Arrow库使用
Aug 18 Python
通过实例了解python__slots__使用方法
Sep 14 Python
python的列表生成式,生成器和generator对象你了解吗
Mar 16 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实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
在IE中调用javascript打开Excel的代码(downmoon原作)
2007/04/02 Javascript
跟着JQuery API学Jquery 之二 属性
2010/04/09 Javascript
js中同步与异步处理的方法和区别总结
2013/12/25 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
2014/04/23 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
ES6 中可以提升幸福度的小功能
2018/08/06 Javascript
浅谈vue 单文件探索
2018/09/05 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
python实现数通设备tftp备份配置文件示例
2014/04/02 Python
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
python中zip()方法应用实例分析
2016/04/16 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
Python类继承和多态原理解析
2020/02/05 Python
Python通过4种方式实现进程数据通信
2020/03/12 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
使用Python Tkinter实现剪刀石头布小游戏功能
2020/10/23 Python
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
爱心捐款倡议书
2014/04/14 职场文书
学校对教师的评语
2014/04/28 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
教师批评与自我批评范文
2014/10/15 职场文书
家装业务员岗位职责
2015/04/03 职场文书
Rhit高效可视化Nginx日志查看工具
2021/11/01 Servers