Skip to main content

This is an implementation of Object Permissions, a.k.a. row level permissions. Object Permissions allow you to assign a permission to an instance of any Model in your django project. This app provides a authentication backend that works with Django >= 1.2.

This specific implementation includes the ability to assign permissions to Users and UserGroups. Later versions may include the ability to create PermissionGroups and ObjectPermissionGroups.

Installation

There are several ways to install Object Permissions.

Object Permissions ships a standard distutils setup.py. A classic invocation to install from setup.py might be:

$ python setup.py install

You may need to add sudo in order to install to the system Python.

$ sudo python setup.py install

We also have Object Permissions on PyPI, so it can be installed using pip. (easy_install also works, but we do not recommend easy_install. Just use pip.)

$ pip install django-object-permissions

If you are installing Object Permissions directly into a Django app, and want to distribute Object Permissions with your app, simply copy the object_permissions folder into your Django project.

Configuring Your Django Project

  1. Add “object_permissions” to INSTALLED_APPS

  2. Add “object_permissions.backend.ObjectPermBackend” to AUTHENTICATION_BACKENDS.

  3. Run ./manage.py syncdb

if South is enabled for your project you will need to create tables using migrate

3b) Run ./manage.py migrate

Using Object Permissions

First, register some permissions onto a Model in your models.py. This can only be done once per model; see registration.py for more information.

>>> from object_permissions import register
>>> register(['permission'], Model)

Now, that permission can be granted, revoked, or checked for any instance of that Model.

>>> user.grant('permission', object)
>>> user.revoke('permission', object)
>>> user.has_perm('permission', object)
>>> group.grant('permission', object)
>>> group.revoke('permission', object)

Authors

Object Permissions was originally implemented by Peter Krenesky at the Oregon State University Open Source Lab (OSUOSL). This release is maintained by Ken Lett.

Metadata

Release files for django-object-permissions 1.4.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-object-permissions 1.4.6
File Size Uploaded
django-object-permissions-1.4.6.tar.gz 84.4 kB Details

Release files / django-object-permissions-1.4.6.tar.gz

Download URL django-object-permissions-1.4.6.tar.gz
Size 84.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2c4b7a517d40256730ce6cdccae95b846ecdf087ea6e8b5fa26a53f6e016a028
BLAKE2b-256 checksum
How to use checksums
dfa36772a9453754df7aebd88c30e8e07962ea51dadbef96306a8d464c76959c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.4.6 This release

1 release file

1.4.5

1 release file

1.4.4

1 release file

1.4.3

1 release file

1.4.2

1 release file

1.4.1

1 release file

1.4

1 release file

1.3.1

1 release file

1.3

1 release file

1.2

1 release file

1.1

1 release file

1.0

1 release file

0.9

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page