python - TabularInline 只读字段可删除

标签 python django django-admin

我正在使用 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/

相关文章:

python - 从本地计算机查询网站的 python 脚本

Python smtplib 代理支持

Python、Django 和 Flatpage

python - 如何在 django 中扩展用户配置文件?

python - Django 中 assertDatabaseHas 的等价物是什么

python - django - 需要从 list_display 引用另一个模型

python - 在 numpy 中缩放(或规范化)这样的数组?

javascript - 我可以选择类型 ="file"吗?

Django-grappelli 管理员 : No reverse match error

django - 我如何自动填充我的字段并使其在 django 管理站点中不可编辑