Django REST API doint filter和在同一字段上

2024-10-04 03:22:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我对django REST API还很陌生,正在尝试理解一些东西。 使用这样的URI时:

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

我本想把所有的服装和鞋子都收回来的,但最后我得到的是所有的鞋子

怎样才能使它按我的需要发挥作用?你知道吗

提前谢谢!!!你知道吗


Tags: djangocomrestapihttpexampleuriproducts
1条回答
网友
1楼 · 发布于 2024-10-04 03:22:15

documentationat DRF(Django Rest框架)应该可以帮助您完成以下任务:

实际上,您需要重写queryset方法并查找query参数:

以下是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

相关问题 更多 >