我有以下型號:如何刪除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設置爲無,最後刪除實例。但是在這個過程中的某個地方,它也設法殺死所有相關對象(許多實例)。 我的問題是:爲什麼這些相關的對象被刪除,我該如何防止這種情況?