对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中dict与set的使用
Aug 10 Python
详解设计模式中的工厂方法模式在Python程序中的运用
Mar 02 Python
django1.8使用表单上传文件的实现方法
Nov 04 Python
用python记录运行pid,并在需要时kill掉它们的实例
Jan 16 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
Sep 28 Python
python版本五子棋的实现代码
Dec 11 Python
Python数据类型之列表和元组的方法实例详解
Jul 08 Python
Python3如何对urllib和urllib2进行重构
Nov 25 Python
pytorch 实现打印模型的参数值
Dec 30 Python
Python常用模块函数代码汇总解析
Aug 31 Python
python matplotlib库的基本使用
Sep 23 Python
详解python中的异常和文件读写
Jan 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脚本的10个技巧(6)
2006/10/09 PHP
简单的pgsql pdo php操作类实现代码
2016/08/25 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
javascript 异常处理使用总结
2009/06/21 Javascript
浅说js变量
2011/05/25 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
JavaScript事件委托用法分析
2015/01/24 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
vue实现移动端图片裁剪上传功能
2020/08/18 Javascript
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
python调用机器喇叭发出蜂鸣声(Beep)的方法
2015/03/23 Python
Python的消息队列包SnakeMQ使用初探
2016/06/29 Python
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
Python 正则表达式入门(初级篇)
2016/12/07 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
基于python内置函数与匿名函数详解
2018/01/09 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
django传值给模板, 再用JS接收并进行操作的实例
2018/05/28 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
对Python3.x版本print函数左右对齐详解
2018/12/22 Python
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
Otel.com:折扣酒店预订
2017/08/24 全球购物
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
巴西Mr. Cat在线商店:购买包包和鞋子
2019/09/08 全球购物
班级光棍节联谊会策划书
2014/10/10 职场文书
大学生见习总结报告
2015/06/24 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
考试后的感想
2015/08/07 职场文书
导游词之安徽醉翁亭
2020/01/10 职场文书