Reputation: 45
def search(request):
if request.method == 'POST':
srch = request.POST['title']
if srch:
match = Post.objects.filter(title__icontains=srch,email__icontains=srch)
# match = Post.objects.annotate(search=SearchVector('title', 'email'),).filter(search=srch)
if match:
return render(request,'post/index.html',{'sr':match})
else:
messages.add_message(request,messages.INFO,' No result found ')
else:
return redirect('post')
return render(request,"post/index.html")
Upvotes: 0
Views: 57
Reputation: 7330
For OR condition
match = Post.objects.filter(Q(title__icontains=srch) | Q(email__icontains=srch))
For AND condion
match = Post.objects.filter(Q(title__icontains=srch) & Q(email__icontains=srch))
I think it's better use GET
request instead of POST
request for searching.
Upvotes: 2