用户按搜索按钮,搜索字段为空,他获取页面上的所有文章。 代码:
class SearchResultsView(ArticlesView):
def get_queryset(self, request):
if request.POST.has_key('search'):
return self.model.objects.filter(
Q(title__icontains=request.POST['search']) |
Q(content__icontains=request.POST['search'])
).distinct()
return []
请帮忙。
答案 0 :(得分:3)
获取search
参数并检查它是否为空:
search = request.POST.get('search')
if search:
return self.model.objects.filter(
Q(title__icontains=search) |
Q(content__icontains=search)
).distinct()
如果没有给出搜索, get()
将返回None
。如果将search
作为空字符串传递,则不会满足if search
条件,因为根据定义,空字符串是假的。