Django admin禁用编辑链接和添加删除操作
Posted Jason_WangYing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django admin禁用编辑链接和添加删除操作相关的知识,希望对你有一定的参考价值。
话不多,直接代码
List_display_links = None # 禁用编辑链接
def has_add_permission(self, request):
# 禁用添加按钮
return False
def has_delete_permission(self, request, obj=None):
# 禁用删除按钮
return False
def get_actions(self, request):
# 在actions中去掉‘删除’操作
actions = super().get_actions(request)
if request.user.username[0].upper() != 'J':
if 'delete_selected' in actions:
del actions['delete_selected']
return actions
当然如果你嫌他太麻烦,每次都需要写,可以扩展下,直接生成基类,这样再创建admin时集成基类就好了。
class BaseModelAdmin(admin.ModelAdmin):
List_display_links = None # 禁用编辑链接
def has_add_permission(self, request):
# 禁用添加按钮
return False
def has_delete_permission(self, request, obj=None):
# 禁用删除按钮
return False
def get_actions(self, request):
# 在actions中去掉‘删除’操作
actions = super().get_actions(request)
if request.user.username[0].upper() != 'J':
if 'delete_selected' in actions:
del actions['delete_selected']
return actions
@admin.register(weixin_models.WechatReplyMessage)
class WechatReplyMessageAdmin(BaseModelAdmin):
以上是关于Django admin禁用编辑链接和添加删除操作的主要内容,如果未能解决你的问题,请参考以下文章
Django Admin Cookbook-20如何删除模型的“添加”/“删除”按钮