Python 如何使用django rest framework搜索过滤器执行or操作,而不是对查询参数执行and操作
这是我的密码Python 如何使用django rest framework搜索过滤器执行or操作,而不是对查询参数执行and操作,python,django-models,django-rest-framework,django-views,django-filter,Python,Django Models,Django Rest Framework,Django Views,Django Filter,这是我的密码 class op_ViewSet(viewsets.ModelViewSet) : http_method_names = ['get'] queryset = Op.objects.all().filter() serializer_class = op_Serializer pagination_class = MyPagination filter_backends = [DjangoFilterBackend , SearchFilt
class op_ViewSet(viewsets.ModelViewSet) :
http_method_names = ['get']
queryset = Op.objects.all().filter()
serializer_class = op_Serializer
pagination_class = MyPagination
filter_backends = [DjangoFilterBackend , SearchFilter , OrderingFilter]
filter_class = op_filter
search_fields = ['website' , 'title' , 'description' , 'organization__name']
搜索\字段在表格的“网站”、“标题”、“说明”和“组织”列中搜索关键字
这就是我发送邮递员请求的方式
http://127.0.0.1:8000/?search=Belgian,Services
现在,我的代码执行一个结束操作。它返回那些同时包含比利时服务关键字的行,而我希望它在我在搜索字段中提供的4列中的任意一列中返回那些只包含比利时服务关键字的行,或者同时包含这两个关键字的行
我怎样才能做到呢
非常感谢你的帮助。
我试过了,但对我不起作用事实上,你需要某种“或”搜索过滤器(“两个”都包含在“任何字段中的比利时或(xor?)任何字段中的服务”中”) 您应该尝试进行一些小的修改:
query=query | Q(网站名称=term)| Q(标题名称=term)| Q(描述名称=term)| Q(组织名称=term)