在 django rest 框架中定义 searchFilter URL

Define searchFilter URL in django rest framework

目前我正在做一个店铺管理项目。该项目正在使用 django、django-rest-framework 和 react 构建。我想过滤模型数据。所以我安装了 django-filter。我需要将 url 定义为“http://localhost:8000/api/search-products/?category=oil&product=mustard oil”。我该怎么做?

我的产品搜索浏览量是-

class SearchProduct(generics.ListAPIView):
    serializer_class = ProductSerializer
    filter_backends = [filters.SearchFilter]
    search_fields = ["category", "name"]

我的url是-

path("api/search-product/?<str:category>&<str:name>", SearchProduct.as_view())

显示页面未找到错误。

如何定义合适的 url 路径?

你不应该将它定义为 path parameters:

path("api/search-product/", SearchProduct.as_view())  

您可以这样调用端点:

.../api/search-product/?search=any_thing_you_want