对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 相关文章推荐
Go语言基于Socket编写服务器端与客户端通信的实例
Feb 19 Python
Django Admin实现上传图片校验功能
Mar 06 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
Python实现图片转字符画的代码实例
Feb 22 Python
python调用外部程序的实操步骤
Mar 04 Python
Python3操作Excel文件(读写)的简单实例
Sep 02 Python
python PIL/cv2/base64相互转换实例
Jan 09 Python
tensorflow之并行读入数据详解
Feb 05 Python
Python的赋值、深拷贝与浅拷贝的区别详解
Feb 12 Python
Django使用list对单个或者多个字段求values值实例
Mar 31 Python
python 字典item与iteritems的区别详解
Apr 25 Python
浅析Python requests 模块
Oct 09 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快速url重写更新版[需php 5.30以上]
2010/04/25 PHP
php中去除所有js,html,css代码
2010/10/12 PHP
PHP stripos()函数及注意事项的分析
2013/06/08 PHP
CI(CodeIgniter)框架配置
2014/06/10 PHP
php合并数组并保留键值的实现方法
2018/03/12 PHP
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
客户端 使用XML DOM加载json数据的方法
2010/09/28 Javascript
基于jquery的手风琴图片展示效果实现方法
2014/12/16 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
超实用的JavaScript代码段 附使用方法
2016/05/22 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
Angular4表单验证代码详解
2017/09/03 Javascript
js闭包学习心得总结
2018/04/17 Javascript
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
2018/08/31 Javascript
Vue.js中对css的操作(修改)具体方式详解
2018/10/30 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
2019/07/11 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
Python实现堆排序的方法详解
2016/05/03 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
使用python打印十行杨辉三角过程详解
2019/07/10 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
Python模块相关知识点小结
2020/03/09 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
python利用platform模块获取系统信息
2020/10/09 Python
法国奢华女性时尚配饰网上商店:Monnier Frères
2016/08/27 全球购物
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
最受欢迎的自我评价
2013/12/22 职场文书
2014年教师节红领巾广播稿
2014/09/10 职场文书
个人租房协议书范本
2014/09/30 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL