Получение списка из 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)