0904自我总结
django模型中有外键关系的表删除相关设置
一.一对一
例如有Author、AuthorDetail两表
author = models.OneToOneField(to='Author...='detail',
db_constraint=False,
on_delete=models.CASCADE
)
1)关系字段放在AuthorDetail表中:...books',
db_constraint=False,
on_delete=models.DO_NOTHING,
)
1)关系字段放在Book表中(...models.DO_NOTHING为删除级联关系, models.CASCAD为级联关系,'SET_NULL'置空,SET_DEFAULT设为默认值
两者区别
models.SET关联表内容删了,关联的相关内容不会删除...models.CASCAD关联表内容删了,关联的相关内容会删除
db_constraint关系断开后,但是不影响联表查询
四.多对多关系
例如Book、Author两表
authors = models.ManyToManyField