<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_filter(self):
 """ Returns a list of Q objects that is created by passing for the keyword arguments from `self.get_filter_kwargs`. If search_fields are specified and we received a seach query all search_fields will be queried use using OR (|) for that term and any specific terms for those search_fields will be ignored. Returns an empty list if there is nothing to filter on. """


        args = []
        filter_kwargs = self.get_filter_kwargs()
        search = filter_kwargs.pop('search', None)
        if search and self.search_fields:
            search_args = []
            for f in self.search_fields:
                k = '%s__icontains' % f
                filter_kwargs.pop(k, None)
                q = Q(**{k: search})
                if search_args:
                    q = search_args[0] | q
                    search_args[0] = q
                else:
                    search_args.append(q)
            args.append(search_args[0])

        if filter_kwargs:
            args.append(Q(**filter_kwargs))

        return args