Django REST仅限列表(无详细信息)ViewSet

0le*_*leg 5 python django rest python-2.7

有路由器:

router.register('users', UsersViewSet, base_name='users')
Run Code Online (Sandbox Code Playgroud)

和一个ViewSet:

class UserViewSet(viewsets.ReadOnlyModelViewSet):
    def get_queryset(self):
        return self.get_object_list()

    def get_object(self):
        for input in self.get_object_list():
            if input.id == self.kwargs['pk']:
                self.check_object_permissions(self.request, input)
                return input

        raise MyCustomNotFound()
Run Code Online (Sandbox Code Playgroud)

当我转到"/ rest/users /"时,它会显示用户列表.当我去"rest/users/1"时 - 它会显示某些用户的详细信息.

现在我想创建一个/ employees只读资源,它扩展了User,但只显示了list(键入类似"/ employees/1"的内容显示了Django 404).

解决方案:

1)覆盖get_object()并返回Http404 - 不起作用它显示带有数据而不是404页面的REST页面.

2)用在描述什么http://www.django-rest-framework.org/api-guide/viewsets/#readonlymodelviewset - user_list = UserViewSet.as_view({'get': 'list'})在路由器文件-不工作.

Nim*_*m1 0

您可以mixins.ListModelMixin直接在处理函数中继承吗?