我以前使用的API视图如下:
在视图.py在
class AllProgramsApi(APIView):
def get(self, request):
user = self.request.user
userprograms = Program.objects.filter(user=user)
serializer = ProgramSerializer(userprograms, many=True)
return Response(serializer.data)
这是我的模型:
^{pr2}$现在我发现了ModelViewSet,它看起来非常方便,但是我似乎不能像以前在apieview中那样为用户过滤。在
我的尝试视图.pyModelViewSet如下所示,它可以工作,但我可以获得所有内容,而不仅仅是与单个用户相关的内容。在
class AllProgramsApi(ModelViewSet):
serializer_class = ProgramSerializer
queryset = Program.objects.all()
如何调整ModelViewSet,使其仅显示与发送请求的用户相关的内容?最好的方法是什么?在
谢谢。在
您可以使用getqueryset方法,如果您知道更多信息,请参阅docFiltering against the current user
django中有权限类,您可以根据需要添加权限,也可以创建自定义权限
你可以从django permission得到更好的主意
可以通过定义queryset或queryset来创建queryset。在
相关问题 更多 >
编程相关推荐