對django 模型 unique together的示例講解
unique_together
這個元數(shù)據(jù)是非常重要的一個!它等同于數(shù)據(jù)庫的聯(lián)合約束!
舉個例子,假設(shè)有一張用戶表,保存有用戶的姓名、出生日期、性別和籍貫等等信息。要求是所有的用戶唯一不重復(fù),可現(xiàn)在有好幾個叫“張偉”的,如何區(qū)別它們呢?(不要和我說主鍵唯一,這里討論的不是這個問題)
我們可以設(shè)置不能有兩個用戶在同一個地方同一時刻出生并且都叫“張偉”,使用這種聯(lián)合約束,保證數(shù)據(jù)庫能不能重復(fù)添加用戶(也不要和我談小概率問題)。在Django的模型中,如何實現(xiàn)這種約束呢?
使用unique_together,也就是聯(lián)合唯一!
比如:
unique_together = (('name', 'birth_day', 'address'),)
這樣,哪怕有兩個在同一天出生的張偉,但他們的籍貫不同,也就是兩個不同的用戶。一旦三者都相同,則會被Django拒絕創(chuàng)建。這一元數(shù)據(jù)經(jīng)常被用在admin后臺,并且強制應(yīng)用于數(shù)據(jù)庫層面。
unique_together接收一個二維的元組((xx,xx,xx,...),(),(),()...),每一個元素都是一個元組,表示一組聯(lián)合唯一約束,可以同時設(shè)置多組約束。為了方便,對于只有一組約束的情況下,可以簡單地使用一維元素,例如:
unique_together = ('name', 'birth_day', 'address')
聯(lián)合唯一無法作用于普通的多對多字段。
以上這篇對django 模型 unique together的示例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python定時任務(wù)框架APScheduler安裝使用詳解
這篇文章主要介紹了Python定時任務(wù)框架APScheduler安裝使用詳解,重點介紹如何使用APscheduler實現(xiàn)python定時任務(wù),本文通過實例代碼給大家介紹的非常詳細,對Python定時任務(wù)APScheduler相關(guān)知識感興趣的朋友一起看看吧2022-05-05
python安裝完成后可以進行的后續(xù)步驟和注意事項小結(jié)
本文詳細介紹了安裝Python3后的后續(xù)步驟,包括驗證安裝、配置環(huán)境、安裝包、創(chuàng)建和運行腳本,以及使用虛擬環(huán)境,還強調(diào)了注意事項,如系統(tǒng)更新、包管理與安全,感興趣的朋友一起看看吧2025-01-01
python 類對象和實例對象動態(tài)添加方法(分享)
下面小編就為大家分享一篇python 類對象和實例對象動態(tài)添加方法。具有很的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
Python虛擬環(huán)境virtualenv的安裝與使用詳解
virtualenv可以用來管理互不干擾的獨立python虛擬環(huán)境,在有些場景下非常有用,下面這篇文章主要給大家介紹了Python虛擬環(huán)境virtualenv安裝與使用的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05
使用python檢測網(wǎng)頁文本內(nèi)容屏幕上的坐標
在 Web 開發(fā)中,經(jīng)常需要對網(wǎng)頁上的文本內(nèi)容進行處理和操作,有時候,我們可能需要知道某個特定文本在屏幕上的位置,以便進行后續(xù)的操作,所以本文將介紹如何使用 Python 中的 Selenium 和 BeautifulSoup 庫來檢測網(wǎng)頁文本內(nèi)容在屏幕上的坐標,需要的朋友可以參考下2024-04-04

