Mixins
Admin mixin for object-level permission checks via django-permission2.
When mixed into a ModelAdmin, the mixin overrides
has_view_permission, has_change_permission, and
has_delete_permission so that object-level permissions are checked
through Django’s has_perm (and therefore through any registered
PermissionBackend and permission logics) whenever an obj is provided.
When obj is None (e.g. on list views), the mixin defers to the
default ModelAdmin behaviour.
- class permission.mixins.admin.RequireObjectPermissionAdminMixin[source]
Bases:
objectModelAdmin mixin that delegates object-level permission checks to
request.user.has_perm(perm, obj).Only
has_view_permission,has_change_permission, andhas_delete_permissionare overridden.has_add_permissionandhas_module_permissionare left untouched.Usage:
from django.contrib import admin from permission.mixins.admin import RequireObjectPermissionAdminMixin class ArticleAdmin(RequireObjectPermissionAdminMixin, admin.ModelAdmin): pass