对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操作sqlite3快速、安全插入数据(防注入)的实例
Apr 26 Python
python获取标准北京时间的方法
Mar 24 Python
Python的Tornado框架异步编程入门实例
Apr 24 Python
利用pyinstaller或virtualenv将python程序打包详解
Mar 22 Python
python爬虫之urllib库常用方法用法总结大全
Nov 14 Python
使用django实现一个代码发布系统
Jul 18 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
Aug 13 Python
Django对models里的objects的使用详解
Aug 17 Python
Python ATM功能实现代码实例
Mar 19 Python
教你如何用python操作摄像头以及对视频流的处理
Oct 12 Python
一文带你了解Python 四种常见基础爬虫方法介绍
Dec 04 Python
python 机器学习的标准化、归一化、正则化、离散化和白化
Apr 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
PHP服务器页面间跳转实现方法
2012/08/02 PHP
JavaScript入门教程(12) js对象化编程
2009/01/31 Javascript
为超链接加上disabled后的故事
2010/12/10 Javascript
Javascript面向对象之四 继承
2011/02/08 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
2014/06/04 Javascript
Node.js入门教程:在windows和Linux上安装配置Node.js图文教程
2014/08/14 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
JS中的防抖与节流及作用详解
2019/04/01 Javascript
微信小程序生成海报分享朋友圈的实现方法
2019/05/06 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
Selenium执行Javascript脚本参数及返回值过程详解
2020/04/01 Javascript
如何在postman测试用例中实现断言过程解析
2020/07/09 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
python 不关闭控制台的实现方法
2011/10/23 Python
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
2017/09/28 Python
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
Python之ReportLab绘制条形码和二维码的实例
2018/01/15 Python
Python实现动态添加属性和方法操作示例
2018/07/25 Python
Python使用Selenium爬取淘宝异步加载的数据方法
2018/12/17 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
2019/05/21 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
技校生自我鉴定范文
2013/09/26 职场文书
技校毕业生的自我评价
2013/12/27 职场文书
餐厅总厨求职信
2014/03/04 职场文书
文明生主要事迹
2014/05/25 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
女生节标语
2014/06/26 职场文书
2015年实习单位评语
2015/03/25 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
JavaScript如何优化逻辑判断代码详解
2021/06/08 Javascript