首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >摇尾ModelAdmin只读

摇尾ModelAdmin只读
EN

Stack Overflow用户
提问于 2017-03-15 21:21:26
回答 1查看 2.4K关注 0票数 8

使用摇尾模型管理:

是否有任何方法禁用编辑和删除选项,只留下检查视图?

我可以想到的一种可能的方法是扩展模板,删除“编辑和删除”按钮,然后以某种方式禁用“编辑和删除”视图。

有没有更干净的方法?

编辑:多亏了Loic的回答,我才能弄明白。

PermissionHelper 源代码也非常有助于找到要重写的正确方法。

只显示检查视图的完整答案

代码语言:javascript
复制
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
    [...]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-15 22:17:05

遗憾的是,您需要至少有一个 of addchangedelete权限才能显示该模型(设置在角色中)。

方法是向您的自定义权限助手类提供一个ModelAdmin,并且始终允许列表(并且仍然允许在角色中设置添加/更改/删除):

代码语言:javascript
复制
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)
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42820895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档