我在get函数中有一个简单的过滤,它需要分页。我试过不同的方法来解决这个问题,但我不知道到底需要做些什么。下面是我的代码
class UserInfoViewSets(viewsets.ViewSet):
def UserInfo_post(self,request, format=None):
if request.method == 'POST':
serializer = UserInfoSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def UserInfo_get(self,request,user_token):
if request.method == 'GET':
queryset = UserInfo.objects.filter(user_token=user_token)
serializer = UserInfoSerializer(queryset,many=True)
我需要对get结果进行分页。我不想编写自定义的分页类,只需设置参数以限制每页的结果数。我试着在设置.py文件
^{pr2}$在我的视图文件中,我添加了ListAPIView
class UserInfoListView(generics.ListAPIView):
model = UserInfo
serializer_class = UserInfoSerializer
paginate_by_param = 'limit'
显然我忽略了一些小细节。我试着去侦察了想文件。但它似乎是面向那些精通django的人。在
谢谢@umut和@prashant。我用DRF分享我的版本。希望其他刚接触drf的人会发现这更容易。在
这给了我下一个和上一个url链接的响应。在
在下面的代码中,整个视图集被设计成GET POST PUT DELETE还可以处理关于分页过滤查询的查询。 分页是使用Paginator完成的,它是django中的一个内置程序
对于包含大部分内容的文档,请访问django docs。DRF文档有时会令人困惑,但django文档描述得很好,而且易于实现
这就是我所做的分页,过滤,排序等。。。首先需要
pip install django-filter
(https://github.com/alex/django-filter)在设置.py在
在视图.py在
^{pr2}$我在用AngularJS
示例查询:
相关问题 更多 >
编程相关推荐