2017-01-04 42 views
0

我都是新來的Django REST API和試圖理解的東西。 使用URI這樣的時候:Django REST API doint過濾器和在相同的字段

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

我早就想收到回所有的服裝但我得到的ened的唯一的事情是所有的類別鞋

根據我的需要,正確的方法是什麼?

謝謝!

+0

在這裏你去http://stackoverflow.com/a/13261403/1587534 – Saksow

回答

1

documentation在DRF(Django的REST框架)來幫助你完成你想做什麼:

在本質上,你需要重寫查詢集方法,尋找query_params

下面是DRF的文檔的例子:

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

比你呢!但我不能低估它的一部分。在我的情況下,我需要一個AND過濾器在同一個領域(類別),但在answear它只會給我的最後一個值的「類別」,而不是所有的人,或者我不明白如何請求看起來像。 還有一件事我已經在文檔中看過SearchFilter,但不知道它是否是正確的方向。 –

+0

您可能想要使用* getlist('category')*選項。東西沿線 request.GET.getlist('category') – user4426017