In Django Admin how do I disable the Delete link

前端 未结 7 2235
天命终不由人
天命终不由人 2020-12-07 22:29

I\'ve managed to disable the \"Delete selected\" action. Easy.

But a user can still click on an item and then there\'s the red Delete link at the bottom.

相关标签:
7条回答
  • 2020-12-07 23:12

    This is very old, but still, it may help someone.

    Assuming that OP's

    ... user can still click on an item and then there's the red Delete link at the bottom.

    refers to the red button in the "change" view. This button can be removed by extending the ModelAdmin.change_view method as follows:

    def change_view(self, request, object_id=None, form_url='', extra_context=None):
        return super().change_view(request, object_id, form_url,
                                   extra_context=dict(show_delete=False))
    

    You can do the same with show_save, and show_save_and_continue. More info and alternatives here.

    Also note that, as of version 2.1, Django has a separate has_view_permission (docs), which may be a better option, depending on your use case.

    0 讨论(0)
提交回复
热议问题