使用摇尾模型管理:
是否有任何方法禁用编辑和删除选项,只留下检查视图?
我可以想到的一种可能的方法是扩展模板,删除“编辑和删除”按钮,然后以某种方式禁用“编辑和删除”视图。
有没有更干净的方法?
编辑:多亏了Loic的回答,我才能弄明白。
PermissionHelper 源代码也非常有助于找到要重写的正确方法。
只显示检查视图的完整答案
class ValidationPermissionHelper(PermissionHelper):
def user_can_list(self, user):
return True
def user_can_create(self, user):
return False
def user_can_edit_obj(self, user, obj):
return False
def user_can_delete_obj(self, user, obj):
return False
class ValidationAdmin(ModelAdmin):
model = Validation
permission_helper_class = ValidationPermissionHelper
inspect_view_enabled = True
[...]发布于 2017-03-15 22:17:05
遗憾的是,您需要至少有一个 of add、change或delete权限才能显示该模型(设置在角色中)。
方法是向您的自定义权限助手类提供一个ModelAdmin,并且始终允许列表(并且仍然允许在角色中设置添加/更改/删除):
class MyPermissionHelper(wagtail.contrib.modeladmin.helpers.PermissionHelper):
def user_can_list(self, user):
return True # Or any logic related to the user.
class MyModelAdmin(wagtail.contrib.modeladmin.options.ModelAdmin):
model = MyModel
permission_helper_class = MyPermissionHelper
modeladmin_register(wagtail.contrib.modeladmin.options.MyModelAdmin)https://stackoverflow.com/questions/42820895
复制相似问题