たとえば、ブックとページの 2 つのモデルがあります。ページには Book への外部キーがあります。
各ページは「was_read」(ブール値)としてマークできます。また、(管理者で)読み取られたページを削除したくありません。
管理者 - ページはブック内のインラインです (管理者でページをスタンドアロン モデルにしたくありません)。
私の問題 - 読み取られたページが削除されないという動作をどのように実現できますか? 私は Django 1.4 を使用しており、いくつかのオプションを試しました。
- 「delete」をオーバーライドして ValidationError をスローします。問題は、管理者が削除時に ValidationError を「キャッチ」せず、エラー ページが表示されることです。そのため、これは適切なオプションではありません。
- PageAdminInline でメソッドをオーバーライドします - has_delete_permission - ここでの問題 - タイプごとなので、すべてのページの削除を許可するか許可しないかのどちらかです。
HTMLコードをオーバーライドせずに他の良いオプションはありますか?
ありがとう、リー