我有 2 个模型 - 例如 Book 和 Page。Page 有一个 Book 的外键。
每个页面都可以标记为“was_read”(布尔值),我想防止删除已读取的页面(在管理员中)。
在管理员中 - Page 是 Book 中的内联(我不希望 Page 成为管理员中的独立模型)。
我的问题 - 我怎样才能实现读取的页面不会被删除的行为?我正在使用 Django 1.4,我尝试了几个选项:
- 覆盖“删除”以引发 ValidationError - 问题是管理员在删除时没有“捕获” ValidationError 并且您得到一个错误页面,因此这不是一个好的选择。
- 在 PageAdminInline 中覆盖该方法 - has_delete_permission - 这里的问题 - 它是每个类型的,所以我允许删除所有页面,或者我不允许。
在不覆盖 html 代码的情况下,还有其他好的选择吗?
谢谢,李