Django REST Framework:允许任何用户编辑任何数据(删除object_permission)

时间:2018-03-08 09:29:02

标签: django django-rest-framework django-authentication django-permissions django-rest-viewsets

我正在使用Django REST Framework的viewsets.ModelViewSet来列出,创建,更新和删除表行。对于以下Tasks模型,它可以正常工作。

但它只允许列出,创建,更新和删除自己的条目(即资源所有者),或者用户应该是超级用户。我想制作这个API,其他用户无论创建者如何都可以查看,修改和删除。简单来说,所有经过身份验证的用户都可以查看/编辑任何人的条目。有没有办法做到这一点?

views.py

class TasksViewSet(viewsets.ModelViewSet):

    queryset = Tasks.objects.all()
    serializer_class = TaskSerializer
    filter_backends = (filters.SearchFilter, filters.OrderingFilter)
    permission_classes = [IsAuthenticated]

settings.py

REST_FRAMEWORK = {
    'DATETIME_FORMAT': "%m/%d/%Y %H:%M:%S",
    'DATE_FORMAT': "%m/%d/%Y",
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    ),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'oauth2_provider.ext.rest_framework.OAuth2Authentication',
    ),
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
    'PAGE_SIZE': 50,
    'EXCEPTION_HANDLER': 'app_utils.utils.custom_exception_handler',
    'DEFAULT_RENDERER_CLASSES': (
        'rest_framework.renderers.JSONRenderer',
    ),
}

0 个答案:

没有答案