您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“django中模型unique together有什么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“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中模型unique together有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。