我想禁用编辑特定 TabularInline 实例中的所有对象,同时仍然允许添加并且仍然允许编辑父模型。
我有这个微不足道的设置:
class SuperviseeAdmin(admin.TabularInline):
model = Supervisee
class SupervisorAdmin(admin.ModelAdmin):
inlines = [SuperviseeAdmin]
admin.site.register(Supervisor, SupervisorAdmin)
我试过添加
has_change_permission
函数到 SuperviseeAdmin
返回 False
无条件地,但它没有效果。我试过设置
actions = None
在 SuperviseeAdmin
但它没有效果。我可能会忽略什么才能使其发挥作用?
最佳答案
用户 django admin 内置函数 has_change_permission() 并返回 false 以限制对象编辑 View 。
class SuperviseeAdmin(admin.TabularInline):
model = Supervisee
def has_change_permission(self, request):
return False
class SupervisorAdmin(admin.ModelAdmin):
inlines = [SuperviseeAdmin]
admin.site.register(Supervisor, SupervisorAdmin)
关于Django 在 TabularInline View 中禁用编辑(但允许添加),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2951781/