对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网络编程之文件下载实例分析
May 20 Python
Python 基础教程之包和类的用法
Feb 23 Python
Python Paramiko模块的使用实际案例
Feb 01 Python
对Python3+gdal 读取tiff格式数据的实例讲解
Dec 04 Python
python中 * 的用法详解
Jul 10 Python
Python的Tkinter点击按钮触发事件的例子
Jul 19 Python
Python中url标签使用知识点总结
Jan 16 Python
Python实现疫情通定时自动填写功能(附代码)
May 27 Python
Python批量删除mysql中千万级大量数据的脚本分享
Dec 03 Python
神经网络训练采用gpu设置的方式
Mar 03 Python
解决Python中的modf()函数取小数部分不准确问题
May 28 Python
详细介绍python类及类的用法
May 31 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+javascript的日历控件
2009/11/19 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
Linux系统下PHP-FPM的安装和配置教程
2015/08/17 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
2020/04/29 PHP
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
2017/03/02 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
JS实现图片居中悬浮效果
2017/12/25 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
vuex的使用步骤
2021/01/06 Vue.js
[02:32]DOTA2英雄基础教程 美杜莎
2014/01/07 DOTA
Python深入学习之闭包
2014/08/31 Python
python实现图片变亮或者变暗的方法
2015/06/01 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
react+django清除浏览器缓存的几种方法小结
2019/07/17 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
python中调试或排错的五种方法示例
2019/09/12 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
英国独特礼物想法和个性化礼物网站:notonthehighstreet.com
2018/04/16 全球购物
会计找工作求职信范文
2013/12/09 职场文书
会计电算化专业毕业生推荐信
2013/12/24 职场文书
应届实习生的自我评价范文
2014/01/05 职场文书
酒店开业策划方案
2014/06/02 职场文书
法定代表人授权委托书
2014/09/19 职场文书
关于召开会议的通知
2015/04/15 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
深入理解redis中multi与pipeline
2021/06/02 Redis
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android