我都是新來的Django REST API和試圖理解的東西。 使用URI這樣的時候:Django REST API doint過濾器和在相同的字段
http://example.com/api/products?category=clothing&category=shoes
我早就想收到回所有的服裝和鞋但我得到的ened的唯一的事情是所有的類別鞋
根據我的需要,正確的方法是什麼?
謝謝!
我都是新來的Django REST API和試圖理解的東西。 使用URI這樣的時候:Django REST API doint過濾器和在相同的字段
http://example.com/api/products?category=clothing&category=shoes
我早就想收到回所有的服裝和鞋但我得到的ened的唯一的事情是所有的類別鞋
根據我的需要,正確的方法是什麼?
謝謝!
的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
比你呢!但我不能低估它的一部分。在我的情況下,我需要一個AND過濾器在同一個領域(類別),但在answear它只會給我的最後一個值的「類別」,而不是所有的人,或者我不明白如何請求看起來像。 還有一件事我已經在文檔中看過SearchFilter,但不知道它是否是正確的方向。 –
您可能想要使用* getlist('category')*選項。東西沿線 request.GET.getlist('category') – user4426017
在這裏你去http://stackoverflow.com/a/13261403/1587534 – Saksow