def get_query(self, request, term):
qs = self.get_queryset()
if term:
search_filters = []
if len(term.split()) == 1:
if self.search_fields:
for field in self.search_fields:
search_filters.append(Q(**{field: term}))
qs = qs.filter(reduce(operator.or_, search_filters))
else:
# Accounts for 'John Doe' term; will compare against get_full_name
term = term.lower()
qs = [x for x in qs if term in x.get_full_name().lower()]
return qs
评论列表
文章目录