【发布时间】:2012-09-10 15:33:48
【问题描述】:
我有一个 django 应用程序,我想在管理员中禁用用户删除。我试图禁用操作并将删除权限设置为 false。但它们都不起作用。
from django.contrib.auth.models import User
class UserProfileAdmin(UserAdmin):
actions = None
或
def has_delete_permission(self, request):
return False
或
def get_actions(self, request):
actions = super(UserProfileAdmin, self).get_actions(request)
if 'delete_selected' in actions:
del actions['delete_selected']
return actions
admin.site.unregister(User)
admin.site.register(User, UserProfileAdmin)
但是当我使用 UserAdmin 向用户信息添加内联时,它工作正常。所以请建议我一种在 django admin 中禁用用户删除的方法。提前致谢。
【问题讨论】:
-
您要覆盖
has_add_permission以禁用删除?此外,最好全局禁用删除操作并明确添加到需要的地方 -
对不起。实际上是
has_delete_permission。我在这里犯了一个错误。关于禁用删除操作,站点范围是一个好主意。但是当我们打开一个用户条目时,在提交行(保存按钮行)中会有一个删除选项。如何禁用它?
标签: django django-admin