Admin¶
GuardedModelAdmin¶
-
class
guardian.admin.GuardedModelAdmin(model, admin_site)¶ Extends
django.contrib.admin.ModelAdminclass. Provides some extra views for object permissions management at admin panel. It also changes defaultchange_form_templateoption to'admin/guardian/model/change_form.html'which is required for proper url (object permissions related) being shown at the model pages.Extra options
GuardedModelAdmin.obj_perms_manage_templateDefault:admin/guardian/model/obj_perms_manage.htmlGuardedModelAdmin.obj_perms_manage_user_templateDefault:admin/guardian/model/obj_perms_manage_user.htmlGuardedModelAdmin.obj_perms_manage_group_templateDefault:admin/guardian/model/obj_perms_manage_group.htmlGuardedModelAdmin.user_can_access_owned_objects_onlyDefault:
FalseIf this would be set to
True,request.userwould be used to filter out objects he or she doesn’t own (checkinguserfield of used model - field name may be overridden byuser_owned_objects_fieldoption).Note
Please remember that this will NOT affect superusers! Admins would still see all items.
GuardedModelAdmin.user_can_access_owned_by_group_objects_onlyDefault:
FalseIf this would be set to
True,request.userwould be used to filter out objects her or his group doesn’t own (checking if any group user belongs to is set asgroupfield of the object; name of the field can be changed by overridinggroup_owned_objects_field).Note
Please remember that this will NOT affect superusers! Admins would still see all items.
GuardedModelAdmin.group_owned_objects_fieldDefault:groupGuardedModelAdmin.include_object_permissions_urlsDefault:
TrueNew in version 1.2.
Might be set to
Falsein order NOT to include guardian-specific urls.Usage example
Just use
GuardedModelAdmininstead ofdjango.contrib.admin.ModelAdmin.from django.contrib import admin from guardian.admin import GuardedModelAdmin from myapp.models import Author class AuthorAdmin(GuardedModelAdmin): pass admin.site.register(Author, AuthorAdmin)