aru*_*lmr 8 django django-admin
我有一个django应用程序,我想在管理员中禁用用户删除.我试图禁用操作并将删除权限设置为false.但它们都没有奏效.
from django.contrib.auth.models import User
class UserProfileAdmin(UserAdmin):
actions = None
Run Code Online (Sandbox Code Playgroud)
要么
def has_delete_permission(self, request):
return False
Run Code Online (Sandbox Code Playgroud)
要么
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)
Run Code Online (Sandbox Code Playgroud)
但是当我使用UserAdmin为用户信息添加内联时,它工作正常.所以请建议我在django admin中禁用用户删除的方法.提前致谢.
okm*_*okm 16
覆盖ModelAdmin.has_delete_permission应该做的伎俩,你的调用签名是不正确的,它缺少一个obj参数
class UserProfileAdmin(UserAdmin):
def has_delete_permission(self, request, obj=None): # note the obj=None
return False
Run Code Online (Sandbox Code Playgroud)
此外,简单地return False阻止所有员工包括删除在Django管理项目管理员,您可能希望只调整User/Group权限,以防止你不希望他们删除这些工作人员User(),通过删除delete_userprofile和delete_user权限.
| 归档时间: |
|
| 查看次数: |
6396 次 |
| 最近记录: |