Django rest框架按升序和降序排序
这是我的视图代码Django rest框架按升序和降序排序,django,django-rest-framework,Django,Django Rest Framework,这是我的视图代码 class BlogListSerializerView(generics.ListAPIView): model = Blog serializer_class = BlogSerializer pagination_class = CustomPagination 对于客户端请求的排序,有两个参数,'sorter[0][field]和'sorter[0][dir]。查询参数如下所示:?page=1&size=15&sorters[0][field]
class BlogListSerializerView(generics.ListAPIView):
model = Blog
serializer_class = BlogSerializer
pagination_class = CustomPagination
对于客户端请求的排序,有两个参数,'sorter[0][field]
和'sorter[0][dir]
。查询参数如下所示:?page=1&size=15&sorters[0][field]=is_approved&sorters[0][dir]=asc
我可以在设置中添加第一个参数,如下所示
REST_FRAMEWORK = {
'ORDERING_PARAM': 'sorters[0][field]'
}
我在视图中添加了排序过滤器和排序过滤器,如下所示
filter_backends = [filters.OrderingFilter]
ordering_fields = ['category']
ordering = ['-id']
现在,它对表进行排序,但只能按一个方向排序,如何按升序和降序排序,我们将不胜感激。在查询参数“ORDERING\u PARAM”中添加一个
-
符号作为前缀:“\u sorters[0][field]”尝试了这种方法,但在一个方向上都不起作用示例:/api/foo/?sorters[0][field]=id
和/api/foo/?sorters[0][field]=-id
此外,我想知道为什么您一开始就有这么难看的订购参数(一点也不冒犯)