我正在使用 Django REST 框架viewsets.ModelViewSet
来列出、创建、更新和删除表行。对于以下Tasks
模型,它工作正常。
但它只允许列出、创建、更新和删除自己的条目(即资源所有者)或者用户应该是超级用户。我想让这个 API 让其他用户可以查看、修改和删除,而不管创建者是谁。简而言之,所有经过身份验证的用户都可以查看/编辑任何人的条目。有没有办法做到这一点?
视图.py
class TasksViewSet(viewsets.ModelViewSet):
queryset = Tasks.objects.all()
serializer_class = TaskSerializer
filter_backends = (filters.SearchFilter, filters.OrderingFilter)
permission_classes = [IsAuthenticated]
设置.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',
),
}