对django 模型 unique together的示例讲解
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模型uniquetogether的示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
9 天仙配简短祝福语
10 生日高考祝福语妹妹简短
11 新年简短祝福语给亲人
12 新郎朋友祝福语简短大气
13 小朋友得奖祝福语简短
14 新年祝福语简短的感谢
15 祝福语简短的微信
16 牛年企业祝福语简短大气
17 对部门师姐祝福语简短
18 生完孩子祝福语简短