2

私は3つの差分モデルと関係があるモデルを持っています。

object.delete()を使用すると、子オブジェクトも削除されることがわかり ました。

今問題は、モデルクラス全体で、DELETED誰かがオブジェクトを削除するたびに1に設定したいというデータベース列があることです。

と呼ばれるクラスで削除された関数をBaseModelオーバーライドし、フィールドを 1 に更新するカスタム削除メソッドをオーバーライドできます。しかし、問題は

そのようにすると、すべてのカスケード関係を手動で調べて、オブジェクトごとに削除オブジェクトを手動で呼び出す必要があります。

object.delete() を呼び出すだけの方法はありますか。子オブジェクトも自動的にトラバースします

4

1 に答える 1

0

Django: How can I find which of my models refer to a model を見てください。

を使用しCollectorて、必要なすべてのアイテムへのすべての参照を取得できますcollect()CASCADEこれは、動作をシミュレートするために Django が使用しているコードです。すべての参照を収集したら、それらの項目ごとにDELETED列を更新できます。

詳細はコードをご覧ください。

幸運を。

于 2012-10-22T05:10:11.303 に答える