django外鍵關(guān)鍵值如何設(shè)置-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)長期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為臨潭企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站制作,臨潭網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

小編給大家分享一下django外鍵關(guān)鍵值如何設(shè)置,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

django外鍵關(guān)鍵值可以自己定義,也可以使用沒默認(rèn)值。

定義模型類

模型類被定義在"應(yīng)用/models.py"文件中。

模型類必須繼承自Model類,位于包django.db.models中。

1) 數(shù)據(jù)庫表名

模型類如果未指明表名,Django默認(rèn)以小寫app應(yīng)用名_小寫模型類名為數(shù)據(jù)庫表名。

可通過db_table指明數(shù)據(jù)庫表名。

2) 關(guān)于主鍵

django會(huì)為表創(chuàng)建自動(dòng)增長的主鍵列,每個(gè)模型只能有一個(gè)主鍵列,如果使用選項(xiàng)設(shè)置某屬性為主鍵列后django不會(huì)再創(chuàng)建自動(dòng)增長的主鍵列。

默認(rèn)創(chuàng)建的主鍵列屬性為id,可以使用pk代替,pk全拼為primary key。

3) 屬性命名限制

不能是python的保留關(guān)鍵字。

不允許使用連續(xù)的下劃線,這是由django的查詢方式?jīng)Q定的。

定義屬性時(shí)需要指定字段類型,通過字段類型的參數(shù)指定選項(xiàng),語法如下:

屬性=models.字段類型(選項(xiàng))。

外鍵

在設(shè)置外鍵時(shí),需要通過on_delete選項(xiàng)指明主表刪除數(shù)據(jù)時(shí),對于外鍵引用表數(shù)據(jù)如何處理,在django.db.models中包含了可選常量:

CASCADE級聯(lián),刪除主表數(shù)據(jù)時(shí)連通一起刪除外鍵表中數(shù)據(jù),

PROTECT保護(hù),通過拋出ProtectedError異常,來阻止刪除主表中被外鍵應(yīng)用的數(shù)據(jù),

SET_NULL設(shè)置為NULL,僅在該字段null=True允許為null時(shí)可用,

SET_DEFAULT設(shè)置為默認(rèn)值,僅在該字段設(shè)置了默認(rèn)值時(shí)可用,

SET()設(shè)置為特定值或者調(diào)用特定方法,

DO_NOTHING不做任何操作,如果數(shù)據(jù)庫前置指明級聯(lián)性,此選項(xiàng)會(huì)拋出IntegrityError異常。

以上是“django外鍵關(guān)鍵值如何設(shè)置”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

文章標(biāo)題:django外鍵關(guān)鍵值如何設(shè)置-創(chuàng)新互聯(lián)
文章起源:http://bm7419.com/article4/dcodie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化、外貿(mào)建站、網(wǎng)站導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化