私は次のモデルを持っています:
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インスタンスを削除します。しかし、そのプロセスのどこかで、プロセス内のすべての関連オブジェクト(多くのインスタンス)を強制終了することもできます。私の質問は、これらの関連オブジェクトが削除されるのはなぜですか、これを防ぐにはどうすればよいですか?