使用正则表达式django从URL获取列表



我有以下基于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)

最新更新