2017-01-04 2 views
0

Я все новичок в django REST API и пытаюсь что-то понять. при использовании URI, как это:Django REST API doint filter и в том же поле

http://example.com/api/products?category=clothing&category=shoes 

Я бы хотел, чтобы получать обратно все категории, которые являются одеждыиобувь но в ней- единственное, что я получаю все обувь

Каков правильный способ заставить его действовать по мере необходимости?

Заранее спасибо!

+0

Здесь вы идете http://stackoverflow.com/a/13261403/1587534 – Saksow

ответ

1

documentation в ФПИ (Джанго Rest Framework) поможет вам, что вы пытаетесь сделать:

В сущности вы должны переопределить QuerySet метод и искать query_params:

Ниже приведен пример из документации ФПИ:

class PurchaseList(generics.ListAPIView): 
serializer_class = PurchaseSerializer 

def get_queryset(self): 
    """ 
    Optionally restricts the returned purchases to a given user, 
    by filtering against a `username` query parameter in the URL. 
    """ 
    queryset = Purchase.objects.all() 
    username = self.request.query_params.get('username', None) 
    if username is not None: 
     queryset = queryset.filter(purchaser__username=username) 
    return queryset 
+0

чем К вам! но я не могу понять его часть. В моем случае мне нужен фильтр И в том же поле (категория), но в ответе он даст мне только последнее значение «категории», а не все из них, или, может быть, я не понимаю, как будет выглядеть запрос. еще одна вещь, которую я видел в документе SearchFilter в документе, но не уверен, что это правильное направление. –

+0

Возможно, вы захотите использовать опцию * getlist ('category') *. Что-то вроде строк request.GET.getlist ('category') – user4426017

Смежные вопросы