允许用户仅修改该用户创建的对象

Upm*_*rab 6 django django-admin

Django 中有没有一种方法可以通过仅允许编辑由该特定用户创建的对象来授予用户访问管理权限的权限?

例如,我想授予用户创建其他用户的权限,但我不想允许他们修改由管理员或具有此权限的其他用户创建的用户。

我正在使用 django-admin 所以问题是在它的上下文中的。

Iai*_*ton 5

您应该重写类上的has_change_permission和方法。has_delete_permissionModelAdmin

例如

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
Run Code Online (Sandbox Code Playgroud)