創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)長期為千余家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為臨潭企業(yè)提供專業(yè)的網(wǎng)站建設、成都網(wǎng)站制作,臨潭網(wǎng)站改版等技術(shù)服務。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。小編給大家分享一下django外鍵關(guān)鍵值如何設置,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
django外鍵關(guān)鍵值可以自己定義,也可以使用沒默認值。
定義模型類
模型類被定義在"應用/models.py"文件中。
模型類必須繼承自Model類,位于包django.db.models中。
1) 數(shù)據(jù)庫表名
模型類如果未指明表名,Django默認以小寫app應用名_小寫模型類名為數(shù)據(jù)庫表名。
可通過db_table指明數(shù)據(jù)庫表名。
2) 關(guān)于主鍵
django會為表創(chuàng)建自動增長的主鍵列,每個模型只能有一個主鍵列,如果使用選項設置某屬性為主鍵列后django不會再創(chuàng)建自動增長的主鍵列。
默認創(chuàng)建的主鍵列屬性為id,可以使用pk代替,pk全拼為primary key。
3) 屬性命名限制
不能是python的保留關(guān)鍵字。
不允許使用連續(xù)的下劃線,這是由django的查詢方式?jīng)Q定的。
定義屬性時需要指定字段類型,通過字段類型的參數(shù)指定選項,語法如下:
屬性=models.字段類型(選項)。
外鍵
在設置外鍵時,需要通過on_delete選項指明主表刪除數(shù)據(jù)時,對于外鍵引用表數(shù)據(jù)如何處理,在django.db.models中包含了可選常量:
CASCADE級聯(lián),刪除主表數(shù)據(jù)時連通一起刪除外鍵表中數(shù)據(jù),
PROTECT保護,通過拋出ProtectedError異常,來阻止刪除主表中被外鍵應用的數(shù)據(jù),
SET_NULL設置為NULL,僅在該字段null=True允許為null時可用,
SET_DEFAULT設置為默認值,僅在該字段設置了默認值時可用,
SET()設置為特定值或者調(diào)用特定方法,
DO_NOTHING不做任何操作,如果數(shù)據(jù)庫前置指明級聯(lián)性,此選項會拋出IntegrityError異常。
以上是“django外鍵關(guān)鍵值如何設置”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道!