2016-12-17 99 views
2

我正在使用Django 1.10django-rest-framework 3.5.3。 我想要一个通用的搜索查询:在许多领域搜索一个值。 我在Docs上找到了SearchFilterDjango REST - SearchFilter无法筛选

我试图添加过滤器后端到ViewSet,但它似乎没有工作。任何对所有对象的搜索查询响应。

视图集:

from rest_framework import filters 

class UserViewSet(viewsets.ModelViewSet): 
    queryset = User.objects.all().order_by('-date_joined') 
    serializer_class = UserSerializer 
    filter_backends = (filters.SearchFilter,) 
    filter_fields = ['username', 'email', 'is_staff', 'groups'] 

查询网址:

http://localhost:8000/users/?search=something 

此外,在文档它们表明一个新的按钮 “过滤器” 添加到Django的其他网页。它不适合我的情况。

我错过了什么吗?

谢谢!

回答

5

而不是filter_fields使用search_fieldsfilter_fields用于在特定字段上启用筛选,如/users/?username=something&is_staff=True