on_delete=models.CASCADE级联删除
on_delete=None, # 默认models.CASCADE
on_delete=models.CASCADE, # 级联删除,即关联的表删除某一项数据,此表关联的数据都会被删除
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
class Publisher(models.Model): name=models.CharField(max_length=32)class Book(models.Model): name=models.CharField(max_length=32) publisher=models.ForeignKey(to="Publisher",on_delete=models.CASCADE)'''出版社id name1 新华出版社2 人民出版社 3 机械工业出版社书id name publisher_id1 新华字典 12 少年阿宾 23 python之路 3 4 自然 1 #级联删除,表示假如出版社删除了1和2,字段,关联到书的都会被删除掉,即会删除1,2,4''' |
on_delete=models.DO_NOTHING, # 删除关联数据,什么也不做
on_delete=models.PROTECT, # 删除关联数据,引发错误ProtectedError,保护作用,关联的表删除,会提醒不让删除
# models.ForeignKey('关联表', on_delete=models.SET_NULL, blank=True, null=True)
on_delete=models.SET_NULL, # 删除关联数据,与之关联的值设置为null(前提FK字段需要设置为可空,一对一同理)
# models.ForeignKey('关联表', on_delete=models.SET_DEFAULT, default='默认值')
on_delete=models.SET_DEFAULT, # 删除关联数据,与之关联的值设置为默认值(前提FK字段需要设置默认值,一对一同理)
on_delete=models.SET(值), # 删除关联数据,
a. 与之关联的值设置为指定值,设置:models.SET(值)
b. 与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象)

浙公网安备 33010602011771号