有路由器:
router.register('users', UsersViewSet, base_name='users')
和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()
当我去" / rest / users /"它显示用户列表。当我去的时候"休息/用户/ 1" - 它显示了某些用户的详细信息。
现在我想创建一个/ employees只读资源,它扩展了User,但只显示了list(键入类似" / employees / 1"显示Django 404)。
尝试解决方案:
1)覆盖get_object()
并返回Http404 - 没有工作它显示REST页面包含数据而不是404页面。
2)在路由器文件中使用http://www.django-rest-framework.org/api-guide/viewsets/#readonlymodelviewset - user_list = UserViewSet.as_view({'get': 'list'})
中描述的内容 - 不起作用。
答案 0 :(得分:0)
您是否可以直接在处理函数中继承mixins.ListModelMixin
?