Django中是否有办法允许用户访问管理员权限,只允许编辑由该特定用户创建的对象?
例如,我想授予用户创建其他用户的权限,但我不想让他们修改由admin或其他具有此权限的用户创建的用户。
我使用django-admin所以问题就在于它的背景。
答案 0 :(得分:2)
您应该覆盖ModelAdmin
课程中的has_change_permission
和has_delete_permission
方法。
例如
class MyModelAdmin(admin.ModelAdmin):
def has_change_permission(self, request, obj=None):
if obj is not None and obj.created_by != request.user:
return False
return True
def has_delete_permission(self, request, obj=None):
if obj is not None and obj.created_by != request.user:
return False
return True