教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

問答>python+大數(shù)據(jù)開發(fā)>Django中的ForeignKey是定義什么的?

Django中的ForeignKey是定義什么的?

來源傳智教育2022年04月18日 15時50分25秒

  ForeignKey用于定義一對多關(guān)系,它包含to和on_delete兩個必選參數(shù),其中to接收與之關(guān)聯(lián)的模型;on_delete用于設(shè)置關(guān)聯(lián)對象刪除后當(dāng)前對象作何處理,該選項有以下幾種取值:

  1.models.CASCADE:級聯(lián)刪除,刪除主表中記錄的同時也刪除關(guān)聯(lián)表中相關(guān)記錄。該取值為on_delete的默認值。

  2.models.DO_NOTHING:刪除當(dāng)前表中記錄,但不刪除關(guān)聯(lián)表中相關(guān)記錄。

  3.models.PROTECT:刪除關(guān)聯(lián)數(shù)據(jù)時引發(fā)的ProtectError錯誤。

  4.models.SET_NULL:在外鍵字段可為空的基礎(chǔ)上,若修改或刪除主表的主鍵,則將字表中參照的外鍵設(shè)置為null。

  5.models.SET_DEFAULT:在外鍵字段可為空的基礎(chǔ)上,若修改或刪除主表的主鍵,則將字表中參照的外鍵設(shè)置為默認值。

  6.models.SET:刪除關(guān)聯(lián)數(shù)據(jù)時重新設(shè)置的ForeignKey值。

  此外,F(xiàn)oreignKey還有一個常用參數(shù)related_name,該參數(shù)用于設(shè)置關(guān)聯(lián)對象查詢時的名稱。

和我們在線交談!