on_delete=models.CASCADE是否代表组合和models.PROTECT聚合?
由于聚合和组合之间的主要区别之一是,对于组合,如果组合类被删除,则组合类的所有对象都将按结果删除,而由于聚合不会发生这种情况,上面的陈述是否正确?
发布于 2020-01-11 20:54:23
CASCADE和PROTECT都代表组合,因为两者都暗示如果父对象被删除,子对象就不能存在。如果子对象存在,并且如您所说,PROTECT将删除所有子对象,则CASCADE会阻止您删除父对象
CASCADE
PROTECT
SET_NULL、SET_DEFAULT和SET表示聚合,因为在每种情况下,当父模型对象被删除时,“子”模型对象都可以继续存在
SET_NULL
SET_DEFAULT
SET
https://stackoverflow.com/questions/59694500
相似问题