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'})在路由器文件-不工作.