Mat*_*ias 1 python django rest django-rest-framework
我正在做我的第一个 DRF 项目,想知道是否可以使用 来DjangoFilterBackend过滤特定字段并同时使用搜索过滤器。所以请求看起来像这样:
http://localhost:8000/api/v1/test/?search=test&id=27&author=2672
是否可以这样做DjangoFilterBackend或者我必须编写自己的过滤器逻辑?
如果您需要有关项目本身或我的代码的更多信息,请告诉我:)
小智 8
是的,这是可能的。
例子:
from rest_framework import filters
from django_filters.rest_framework import DjangoFilterBackend
class ProductViewset(viewsets.ModelViewSet):
queryset = Product.objects.all()
filter_backends = [DjangoFilterBackend, filters.SearchFilter]
filterset_fields = ["is_discontinued",]
search_fields = ["name", "description",]
Run Code Online (Sandbox Code Playgroud)
在filterset_fields中枚举您想要过滤的字段。并在您要搜索的search_fields中。
网址:
https://www.myurl.ltd/api/products?is_discontinued=False&search=laptop
Run Code Online (Sandbox Code Playgroud)
更多信息: DjangoFilterBackend和 SearchFilter
| 归档时间: |
|
| 查看次数: |
5587 次 |
| 最近记录: |