Added support for queryset in DjangoModelPermission for functional views

This commit is contained in:
Gabor 2020-12-12 23:47:15 +02:00
parent bb133522ef
commit d4c82b56b4

View File

@ -69,6 +69,7 @@ def api_view(http_method_names=None):
WrappedAPIView.permission_classes = getattr(func, 'permission_classes', WrappedAPIView.permission_classes = getattr(func, 'permission_classes',
APIView.permission_classes) APIView.permission_classes)
WrappedAPIView.queryset = getattr(func, 'queryset', APIView.permission_classes)
WrappedAPIView.schema = getattr(func, 'schema', WrappedAPIView.schema = getattr(func, 'schema',
APIView.schema) APIView.schema)
@ -106,9 +107,11 @@ def throttle_classes(throttle_classes):
return decorator return decorator
def permission_classes(permission_classes): def permission_classes(permission_classes, queryset=None):
def decorator(func): def decorator(func):
func.permission_classes = permission_classes func.permission_classes = permission_classes
if queryset is not None:
func.queryset = queryset
return func return func
return decorator return decorator