Note_Tech

All technological notes.


Project maintained by simonangel-fong Hosted on GitHub Pages — Theme by mattgraham

Django - Permissions and Groups

Back


Permission

from django.contrib.auth import authenticate

user = authenticate(username="admin_name", password="admin_pwd")
user.has_perm("EmpApp.add_employee")
# True
user.get_all_permissions()
# {'EmpApp.add_department',
#  'EmpApp.add_employee',
#  'EmpApp.change_department',
#  'EmpApp.change_employee',
#  'EmpApp.delete_department',
#  'EmpApp.delete_employee',
#  'EmpApp.view_department',
#  'EmpApp.view_employee',
#  'admin.add_logentry',
#  'admin.change_logentry',
#  'admin.delete_logentry',
#  'admin.view_logentry',
#  'auth.add_group',
#  'auth.add_permission',
#  'auth.add_user',
#  'auth.change_group',
#  'auth.change_permission',
#  'auth.change_user',
#  'auth.delete_group',
#  'auth.delete_permission',
#  'auth.delete_user',
#  'auth.view_group',
#  'auth.view_permission',
#  'auth.view_user',
#  'contenttypes.add_contenttype',
#  'contenttypes.change_contenttype',
#  'contenttypes.delete_contenttype',
#  'contenttypes.view_contenttype',
#  'sessions.add_session',
#  'sessions.change_session',
#  'sessions.delete_session',
#  'sessions.view_session'}

Permission Class

Fields Description
name Required. <= 255 characters
content_type Required. A reference to the django_content_type database table
codename Required. <= 100 characters

Groups


Group Class

Fields Description
name Required. <= 150 characters
permissions Many-to-many field to Permission
group.permissions.set([permission_list])
group.permissions.add(permission, permission, ...)
group.permissions.remove(permission, permission, ...)
group.permissions.clear()

TOP