我正在使用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',
),
}