我有以下型号:如何删除django关系中的对象(保留所有相关对象)?
One
name (Char)
Many
one (ForeignKey,blank=True,null=True)
title (Char)
我想删除一个实例和所有相关的对象应该失去其相对于一个实例。目前我的代码如下所示:
one=One.objects.get(<some criterion>)
more=Many.objects.filter(one=one)
for m in more
m.one=None
m.save()
#and finally:
one.delete()
代码是干什么的? 它找到应该删除的对象,然后搜索相关对象,将它们的ForeignKey设置为无,最后删除实例。但是在这个过程中的某个地方,它也设法杀死所有相关对象(许多实例)。 我的问题是:为什么这些相关的对象被删除,我该如何防止这种情况?