1
有一个路由器:Django的REST列表只(无详细信息)视图集中
router.register('users', UsersViewSet, base_name='users')
而且一个视图集:
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 /用户/” 它会向用户显示名单。当我去“休息/用户/ 1” - 它显示一些用户的细节。
现在我想创建一个/员工只读资源,它扩展了用户,但只显示列表(键入像“/ 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'})
中描述的内容不起作用。