您好我想问一下这个example中的searchfilter类。
class UserListView(generics.ListAPIView): queryset = User.objects.all() serializer_class = UserSerializer filter_backends = (filters.SearchFilter,) search_fields = ('username', 'email')
这将允许客户端通过查询来过滤列表中的项目:
http://example.com/api/users?search=russell
现在我要做的是,例如向gender
对象添加User
字段并搜索过滤器,返回查询集中的所有男性。
就像这样search_fields = ('username', 'email', 'gender="male"') # of course this wont work
。
我们如何才能在searchFilter中获得这个东西?
答案 0 :(得分:0)
我认为你应该使用filter_fields而不是搜索字段。
class UserListView(generics.ListAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
filter_backends = (filters.SearchFilter,filters.DjangoFilterBackend)
search_fields = ('username', 'email')
filter_fields = ('gender',)
URL: http://example.com/api/users?gender=male&&search=russell