Fix get_search_fields example (#6487)

This commit is contained in:
SrdjanCosicPrica 2019-03-04 14:46:14 +01:00 committed by Carlton Gibson
parent 0ab527a3df
commit ac7b20cca2

View File

@ -220,7 +220,10 @@ By default, the search parameter is named `'search`', but this may be overridden
To dynamically change search fields based on request content, it's possible to subclass the `SearchFilter` and override the `get_search_fields()` function. For example, the following subclass will only search on `title` if the query parameter `title_only` is in the request: To dynamically change search fields based on request content, it's possible to subclass the `SearchFilter` and override the `get_search_fields()` function. For example, the following subclass will only search on `title` if the query parameter `title_only` is in the request:
class CustomSearchFilter(self, view, request): from rest_framework import filters
class CustomSearchFilter(filters.SearchFilter):
def get_search_fields(self, view, request):
if request.query_params.get('title_only'): if request.query_params.get('title_only'):
return ('title',) return ('title',)
return super(CustomSearchFilter, self).get_search_fields(view, request) return super(CustomSearchFilter, self).get_search_fields(view, request)