我如何检查该请求是否为空

时间:2016-07-09 13:54:13

标签: python django

用户按搜索按钮,搜索字段为空,他获取页面上的所有文章。 代码:

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 []

请帮忙。

1 个答案:

答案 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条件,因为根据定义,空字符串是假的。