django-pieguard is a simple authorization class for tastypie that uses django-guardian to handle object permissions.
This was inspired by gist https://gist.github.com/7wonders/6557760.
- Python 2.7+
- Django 1.7
- django-guardian 1.2.4
- tastypie 0.12.1
Not tested in other versions yet.
Install django-pieguard:
pip install django-pieguard
Then use it in a tastypie project:
from pieguard.authorization import GuardianAuthorization from tastypie.resources import Resource from django.db import models class MyModel(models.Model): class Meta: permissions = ( ('view_mymodel', 'View my model'), ) class MyResource(ModelResource): class Meta: authorization = GuardianAuthorization # ... your other options
django-pieguard uses a special view_modelname permission to control if user can view that resource or not. As Django only creates add, change and delete permissions by default, you need to add the relevant permission on your model Meta class.
- Tests
- Docs
- Python 3 official support
This work is licensed under MIT license.