Получение списка из URL с помощью регулярного выражения django
У меня есть следующее представление для фильтрации объектов заказа на основе списка идентификаторов:
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 следующим образом: 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)