permissions.py
772 Bytes
from rest_framework.permissions import DjangoModelPermissions
class Permissions(DjangoModelPermissions):
"""
copy from rest_framework/permissions.py
"""
def has_permission(self, request, view):
# Workaround to ensure DjangoModelPermissions are not applied
# to the root view when using DefaultRouter.
if getattr(view, '_ignore_model_permissions', False):
return True
if not request.user:
return False
if self.authenticated_users_only and not request.user.is_authenticated:
return False
# if not request.user.is_staff:
# return False
perms = getattr(view, 'method_perms', {}).get(request.method, [])
return request.user.has_perms(perms)