code: def filter_queryset(self, request, term, queryset=None, **dependent_fields):
          
          if queryset is None:
              queryset = self.get_queryset()
          search_fields = self.get_search_fields()
          select = Q()
          term = term.replace('\t', ' ')
          term = term.replace('\n', ' ')
          for t in [t for t in term.split(' ') if not t == '']:
              select &= reduce(lambda x, y: x | Q(**{y: t}), search_fields,
                               Q(**{search_fields[0]: t}))
          if dependent_fields:
              select &= Q(**dependent_fields)
  
          return queryset.filter(select).distinct()
docs: Return QuerySet filtered by search_fields matching the passed term.
  
          Args:
              request (django.http.request.HttpRequest): The request is being passed from
                  the JSON view and can be used to dynamically alter the response queryset.
              term (str): Search term
              queryset (django.db.models.query.QuerySet): QuerySet to select choices from.
              **dependent_fields: Dependent fields and their values. If you want to inherit
                  from ModelSelect2Mixin and later call to this method, be sure to pop
                  everything from keyword arguments that is not a dependent field.
  
          Returns:
              QuerySet: Filtered QuerySet