对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数据结构之Array用法实例
Oct 09 Python
微信跳一跳自动运行python脚本
Jan 08 Python
Python建立Map写Excel表实例解析
Jan 17 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
PyQt5实现简单数据标注工具
Mar 18 Python
浅谈Python中(&,|)和(and,or)之间的区别
Aug 07 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
Jan 06 Python
Python OpenCV读取显示视频的方法示例
Feb 20 Python
Django:使用filter的pk进行多值查询操作
Jul 15 Python
如何用Python 加密文件
Sep 10 Python
Pycharm新手使用教程(图文详解)
Sep 17 Python
再谈python_tkinter弹出对话框创建
Mar 20 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文件上传、下载和删除示例
2020/08/28 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
一些常用的JS功能函数代码
2009/06/23 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
使用jQuery.wechat构建微信WEB应用
2014/10/09 Javascript
jQuery基于扩展简单实现倒计时功能的方法
2016/05/14 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
js实现文字截断功能
2016/09/14 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
canvas实现刮刮卡效果
2017/03/14 Javascript
JS实现两周内自动登录功能
2017/03/23 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
2017/04/24 jQuery
常见的浏览器Hack技巧整理
2017/06/29 Javascript
详解利用jsx写vue组件的方法示例
2017/07/17 Javascript
[10:53]2018DOTA2国际邀请赛寻真——EG
2018/08/11 DOTA
Python实现求笛卡尔乘积的方法
2017/09/16 Python
python实现画一颗树和一片森林
2018/06/25 Python
python简单操作excle的方法
2018/09/12 Python
numpy.linspace函数具体使用详解
2019/05/27 Python
python 带时区的日期格式化操作
2020/10/23 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
高级文秘工作总结的自我评价
2013/09/28 职场文书
应届生求职信写作技巧
2013/10/24 职场文书
校长先进事迹材料
2014/02/01 职场文书
人事专员职责
2014/02/22 职场文书
2014年初中班主任工作总结
2014/11/08 职场文书
先进班组材料范文
2014/12/25 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
2016新年年会主持词
2015/07/06 职场文书
2015年高中生国庆节演讲稿
2015/07/30 职场文书
升学宴祝酒词
2015/08/11 职场文书
避坑之 JavaScript 中的toFixed()和正则表达式
2022/04/19 Javascript
ant design vue的form表单取值方法
2022/06/01 Vue.js