mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-02 19:40:13 +03:00
allow search only for valid search fields registered in the view
This commit is contained in:
parent
80320d015d
commit
4af00465b2
|
@ -331,10 +331,16 @@ class DjangoObjectPermissionsFilter(BaseFilterBackend):
|
|||
return params
|
||||
|
||||
def filter_queryset(self, request, queryset, view):
|
||||
|
||||
valid_fields = getattr(view, 'search_fields', [])
|
||||
search_terms = self.get_search_terms(request)
|
||||
|
||||
if not search_terms:
|
||||
|
||||
if not search_terms or not allowed_search_fields:
|
||||
return queryset
|
||||
|
||||
if valid_fields != '__all__':
|
||||
search_terms = [search_term for search_term in search_terms if
|
||||
search_term[0] in valid_fields]
|
||||
|
||||
orm_lookups = [
|
||||
self.construct_search(six.text_type(search_term[0]))
|
||||
|
|
Loading…
Reference in New Issue
Block a user