Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django ForeignKey on_delete-合成与聚合_Django_Oop_Foreign Keys - Fatal编程技术网

Django ForeignKey on_delete-合成与聚合

Django ForeignKey on_delete-合成与聚合,django,oop,foreign-keys,Django,Oop,Foreign Keys,是否打开_delete=models.CASCADE表示合成和models.PROTECT聚合 由于聚合和合成之间的主要区别之一是,如果合成类被删除,则合成类的所有对象都会按结果被删除,而且由于聚合不会发生这种情况,上述语句正确吗?两者都代表合成,因为两者都意味着如果父对象被删除,子对象将不存在。如果存在子对象并且如您所说将删除所有子对象,则阻止您删除父对象 ,并表示聚合,因为在每种情况下,删除父对象时“子”模型对象都可以继续存在

是否打开_delete=models.CASCADE表示合成和models.PROTECT聚合

由于聚合和合成之间的主要区别之一是,如果合成类被删除,则合成类的所有对象都会按结果被删除,而且由于聚合不会发生这种情况,上述语句正确吗?

两者都代表合成,因为两者都意味着如果父对象被删除,子对象将不存在。如果存在子对象并且如您所说将删除所有子对象,则阻止您删除父对象

,并表示聚合,因为在每种情况下,删除父对象时“子”模型对象都可以继续存在