我创建了这个简单的搜索功能:
def search(request):
if "q" in request.GET:
querystring = request.GET.get("q")
print(querystring)
if len(querystring) == 0:
return redirect("/search/")
posts = Blog.objects.filter(title__icontains=querystring | tagline__icontains=querystring | contents__icontains=querystring)
context= {"posts": posts}
return render(request, "kernel/search.html", context)
else:
return render(request, "kernel/search.html")
当我只使用一种条件时,例如:
posts = Blog.objects.filter(title__icontains=querystring)
它向我展示了正确的结果。但是当我使用多个参数时,我有 SyntaxError: invalid syntax。
我确定查询对应于:
SELECT * FROM Post WHERE “title” 是 “key_search” 或 “tagline” 是 “key_search” 或 “contents” 是 “key_search”
我该如何解决?