Это зависит от того, как вы будете использовать эту запись API в рабочей среде.
Сначала хороший способ в django - использовать request.query_params
для получения параметров запроса.Также вы должны указать значение по умолчанию для метода get()
, чтобы избежать исключений, если не передан параметр 'services'.
Затем, если ваш параметр services содержит имена или идентификаторы некоторых объектов, вы можете просто передать его с параметрамив запросе GET как http://someurl? services = A, B, C или внутри вкладки с именем «Params» в почтальоне.Так что request.query_params.get('sevices', '')
вернет строку, содержащую «A, B, C».Теперь вы можете разделить его на ',' как services_names = str.split(',')
.
В любом случае, параметры запросов GET могут возвращать только значения str
.
В соответствии с вашим примером это может выглядеть так:
class SomeAPIView(ModelViewSet):
def get_queryset(self):
services = self.request.query_params.get('sevices', '').split(',')
print(services) # getting services
print(type(services)) # now it will be List[str]
response_list = []
for service in services:
result = API(service=service)
response_list.append(result)
return response_list