Python 使用Django Rest框架的带有排序查询参数的订单详细信息\u路由
在如下所示的Python 使用Django Rest框架的带有排序查询参数的订单详细信息\u路由,python,django,django-rest-framework,Python,Django,Django Rest Framework,在如下所示的detail\u route方法中,如何使用ordering查询参数来支持事件排序: 我尝试了以下方法,但没有解决任何问题: @detail_route() def events(self, request, pk=None): item = self.get_object() events = filters.OrderingFilter().filter_queryset(request, item.events.all(), self) page =
detail\u route
方法中,如何使用ordering
查询参数来支持事件排序:
我尝试了以下方法,但没有解决任何问题:
@detail_route()
def events(self, request, pk=None):
item = self.get_object()
events = filters.OrderingFilter().filter_queryset(request, item.events.all(), self)
page = self.paginate_queryset(events)
if page is not None:
serializers = EventSerializer(page, many=True, context={'request': request})
return self.get_paginated_response(serializers.data)
serializers = EventSerializer(events, many=True, context={'request': request})
return Response(serializers.data)
正如汤童建议的那样。您需要将EventDateTime添加到ItemViewSet中的ordering_字段。您可以指定
ordering_字段=('Lable','EventDateTime',)
@detail_route()
def events(self, request, pk=None):
item = self.get_object()
events = filters.OrderingFilter().filter_queryset(request, item.events.all(), self)
page = self.paginate_queryset(events)
if page is not None:
serializers = EventSerializer(page, many=True, context={'request': request})
return self.get_paginated_response(serializers.data)
serializers = EventSerializer(events, many=True, context={'request': request})
return Response(serializers.data)