我有以下基于id列表的filter Order对象视图:
class GetOrdersByIDs(generics.ListAPIView):
serializer_class = OrderSerializer
def get_queryset(self):
print(self)
ids = self.kwargs.get('ids')
return Order.objects.filter(id__in=ids)
我想从这样的URL接收一个ID列表:myurl/ids/1,2,3,4
,但我想我必须使用这样的正则表达式d+(,d+)*$
,但我不知道如何从中获得列表。
我认为应该使用query_param
。类似:.../?id=1&id=2&id=3
。
然后,当您使用request.GET.getlist('id')
时,它会向您返回类似[1,2,3]
:的列表
...
def get_queryset(self):
ids = self.request.GET.getlist('id')
return Order.objects.filter(id__in=ids)