def filtering(self):
# build your filter spec
or_filter = []
if (self.request_values.get('sSearch')) and (self.request_values['sSearch'] != ""):
for i in range(len(self.columns)):
or_filter.append((self.columns[i]+'__icontains', self.request_values['sSearch']))
else:
for i in range(len(self.columns)):
if (self.request_values.get(f'sSearch_{i}')) and (self.request_values[f'sSearch_{i}'] != ""):
or_filter.append((self.columns[i]+'__icontains', self.request_values[f'sSearch_{i}']))
q_list = [Q(x) for x in or_filter]
return q_list