django-object-permissions Vs django-guardian Vs django-authority

Akasha picture Akasha · Jun 18, 2012 · Viewed 10.5k times · Source

I've found 3 row-level permission solutions for Django 1.2+

Could someone tell if there is any recommended more than the others, what are their main differences, etc.?

Answer

Josh Smeaton picture Josh Smeaton · Jun 18, 2012

I'll start this by saying we use none of these for object level permission - we use our own custom method and I really wish we hadn't. If you can avoid object level permissions at all, do so, they are a pain to organise.

This is how I evaluate the 3 apps you've mentioned.

Active Development:

  1. django-guardian (1 week ago)
  2. django-object-permissions (1 year ago)
  3. django-authority (nearly 2 years ago)

API

  1. django-guardian (save an instance of a defined model)
  2. django-object-permissions (register permissions)
  3. django-authority (define classes)

The above are in order by the way.

I'd recommend guardian purely on API alone, but the fact that it is still being developed where the others aren't usually means a big win.