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

时间:2017-11-08 14:43:09

标签: django django-admin

Django中是否有办法允许用户访问管理员权限,只允许编辑由该特定用户创建的对象?

例如,我想授予用户创建其他用户的权限,但我不想让他们修改由admin或其他具有此权限的用户创建的用户。

我使用django-admin所以问题就在于它的背景。

1 个答案:

答案 0 :(得分:2)

您应该覆盖ModelAdmin课程中的has_change_permissionhas_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