から派生したオブジェクトを削除しますか?私がforeign_keyとDELETE_CASCADEを使って作業しているのであれば、罰金ですが、派生したモデルではありません。ジャンゴORMは、私は次の問題を持っている別のモデル
答えて
基本的に、オブジェクトフォームモデルAを削除するために、モデルBに独自のdelete()メソッドを記述することは可能です。 しかし、ForeignKeyがない場合、どのオブジェクトAが特定のオブジェクトBの削除によってカスケードされるべきかをどのように決定し/知るべきですか?
djangoを使用してオブジェクトを削除すると、ベースオブジェクトが削除されます。 SQLレベルではありません。 Django ORMはデータベースにDELETE CASCADEを設定しません。 – mbieren
私は本当にそれを取得しません。あなたが言った - 私が間違っている場合私を修正する - モデルのオブジェクトがdjangoで削除された場合、データベースから削除されません?または、継承されたモデルでCASCADE削除を参照するだけですか? –
私は、継承されたモデルがデータベースから削除されたことを意味します。 django(またはadmin)で削除すると、基本オブジェクトは削除されます。プレーンSQLを使用する場合、ベースオブジェクト(この場合はA)は削除されません。 – mbieren
dbshellを使用してBオブジェクトを削除しても問題ありません。クラスBの基本オブジェクトも削除されます(この場合はA)。
DjangoはデータベースレベルでDELETE CASCADEを配置しません。 sqlを使用してモデルBオブジェクトを削除すると、オブジェクトはdbに残ります。
非常に悪い
Info to MaxM。私は、次のデータベース制約が欲しいです。 Djangoはこれを作成しません。
ALTER TABLE B
ADD CONSTRAINT B_A_fkey FOREIGN KEY (A_ptr_id)
REFERENCES A (id)
ON UPDATE CASCADE ON DELETE CASCADE;
この動作のみをエミュレートします。あなたの提案は、私の名前を制御することができますA_ptr_id
- 1. は、私は次のモデル持っジャンゴ
- 2. ジャンゴ・輸出入 - 私は、次のモデル持っているモデル
- 3. 私は、次のDjangoのモデルを持っているジャンゴ
- 4. 私は次のモデルを持っているジャンゴ
- 5. ジャンゴ - 私はモデルを持っている
- 6. Djangoは、私は次のモデルを持っていると私は別のモデル
- 7. Djangoのクエリは、私はジャンゴで次のモデルを持っているrelated_name
- 8. 次のように私は、Djangoのモデルを持っているジャンゴ
- 9. Railsは、私は、次の3つのモデルを持っている別のモデル
- 10. は、私は、このモデルを持っているジャンゴ
- 11. のpythonジャンゴ:エラー、私は次のモデル持っインラインフォームセット
- 12. は、私は、次の問題を持っているドロップダウンリスト
- 13. は、私は次のような問題を持っている
- 14. は動的ジャンゴでモデルのインスタンスを追加し、私は次のモデル持っ
- 15. 私は関連の2つのモデルを持っているジャンゴ
- 16. は、私は次のコードを持っているジャンゴ
- 17. 外部キーと、私は次のモデル持っジャンゴ
- 18. ジャンゴ残りのフレームワークは、私がモデルを持っている
- 19. ジャンゴORM私は三つのモデルを持っている
- 20. フィルターモデルオブジェクト、私はジャンゴでこれらのモデルを持っている
- 21. 私は次の問題を持っているpostgresの
- 22. モデルは、私は次のモデルを持っている
- 23. は、私は次のモデルを持っているモデル
- 24. は、私は次のモデルを持っているモデル
- 25. AngularJS問題、私は次のコードを持っている
- 26. 私は次の問題を持っている
- 27. エラー - 私は次のような問題持っているリンク
- 28. 私は次のような問題持っているテンプレートパラメータ
- 29. スモールトーク - 私は次のような問題持っているアレイ
- 30. 私は次のようにジャンゴにシリアライザを持っているジャンゴ
どのオブジェクトがBのどのオブジェクトに接続されているかを判断しています –
Bのデータベースオブジェクトにオブジェクトのポインタがあります – mbieren
カスタムメソッドを削除します。それは本当に簡単な解決策となる –