https://github.com/mesemus/django-rest-delegated-permissions
Delegate django rest framework object permissions to an object pointed by foreign key/m2m
https://github.com/mesemus/django-rest-delegated-permissions
delegation django django-guardian django-rest-framework permissions queryset
Last synced: 6 months ago
JSON representation
Delegate django rest framework object permissions to an object pointed by foreign key/m2m
- Host: GitHub
- URL: https://github.com/mesemus/django-rest-delegated-permissions
- Owner: mesemus
- License: mit
- Created: 2017-11-16T19:10:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-09-08T16:58:06.000Z (over 5 years ago)
- Last Synced: 2024-11-15T21:49:27.075Z (6 months ago)
- Topics: delegation, django, django-guardian, django-rest-framework, permissions, queryset
- Language: Python
- Size: 4.33 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.org/mesemus/django-rest-delegated-permissions)
[](https://codecov.io/gh/mesemus/django-rest-delegated-permissions)
[](https://requires.io/github/mesemus/django-rest-delegated-permissions/requirements/?branch=master)
[](https://mesemus.github.io/django-rest-delegated-permissions/test_report.html)
[](https://mesemus.github.io/django-rest-delegated-permissions/htmlcov/index.html)
[](http://django-rest-delegated-permissions.readthedocs.io/en/latest/)# django-rest-delegated-permissions
Delegate django rest framework object permissions to an object pointed by foreign key/m2mSample: set up permissions so that anyone having django/django guardian permissions on Invoice will have the same set
of permissions on its address:class Address(models.Model):
... address fieldsclass Invoice(models.Model):
address = models.OneToOneField(Address, related_name='invoice')
... invoice fields-------------
perms = RestPermissions()
@perms.apply(permissions=DelegatedPermissions(perms, "invoice")
class AddressViewSet(ModelViewSet):
queryset = Address.objects.all()
serializer = AddressSerializer
...@perms.apply() # implicitely adds django model permissions and guardian permissions
class InvoiceViewSet(ModelViewSet):
queryset = Invoice.objects.all()
serializer = InvoiceSerializer
...
See docs and API at http://django-rest-delegated-permissions.readthedocs.io/en/latest/