我正在使用 TabularInlines
在 django 管理中管理多对多关系。当满足某些条件时,我想使内联只读。为了实现这一点,我重写了 BaseModelAdmin
中的 get_readonly_fields()
方法。
这就像一个魅力,唯一的问题是只读字段仍然是可删除的(删除的复选框仍然存在并且仍然有效)。
当然,我可以将 TabularInline
中的 can_delete
字段设置为 False
,但这也可以防止非只读情况下的删除。
我的问题:如何设置 TabularInline
来禁止只读字段中的删除,并在字段可读/可写时启用它?
编辑:我使用 Django 1.3,但如果该解决方案也适用于 1.2,那就完美了!
最佳答案
我认为你想要做的是设置has_delete_permission(self, obj=None)
。这将使您能够决定何时可以删除整个内联,何时不能删除整个内联。
关于python - TabularInline 只读字段可删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7176746/