django2.+模型多對一on_delete參數及其作用

多對一關係很多,例如一個學生有多門課程,所有的課程同時也可以對應於一個學生(大概理解是這個意思)。

from django.db import models
學生
class student(models.Model):
    name = models.CharField(max_length=255,verbose_name="學生姓名")
課程
class course(models.Model):
     menpai = models.ForeignKey('student', on_delete=models.CASCADE)  #定義了models.CASCADE屬性
	 name = models.CharField(max_length=255,verbose_name="課程名稱")
models.CASCADE(默認)   級聯刪除
modles.PROTECT :    當刪除一個具有外鍵關係的對象時,會引發一個異常,阻止刪除該對象
models.SET_NULL:   設置刪除對象所關聯的外鍵字段爲null。但字段的null屬性必需爲True
models.SET_DEFAULT :    設置刪除對象所關聯的外鍵字段爲默認的值。
models.SET(value)  :設置刪除對象所關聯的對象的外鍵字段爲value,value也可以是一個可調用函數。

以上出自一個django初學者的總結,如有誤人子弟的地方,請留言探討

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章