【发布时间】:2011-03-23 11:13:35
【问题描述】:
我有以下型号:
One
name (Char)
Many
one (ForeignKey,blank=True,null=True)
title (Char)
我想删除一个 One 实例,并且所有相关对象都应该失去与 One 实例的关系。目前我的代码如下所示:
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 设置为 None,最后删除 One 实例。但在该进程的某个地方,它还设法杀死进程中的所有相关对象(Many 实例)。 我的问题是:为什么这些相关对象会被删除,我该如何防止呢?
【问题讨论】:
标签: python django django-database