1. 程式人生 > >【轉】Django模糊查詢

【轉】Django模糊查詢

mod post bject sea django .get == 豎線 contain

  1. def search(request):
  2. searchtype = request.POST.get("searchtype")
  3. keyword = request.POST.get("keyword")
  4. if searchtype == "all":
  5. #多個字段模糊查詢, 括號中的下劃線是雙下劃線,雙下劃線前是字段名,雙下劃線後可以是icontains或contains,區別是是否大小寫敏感,豎線是或的意思
  6. sciencenews = models.Sciencenews.objects.filter(Q(title__icontains=keyword)\
  7. |Q(content__icontains=keyword)|Q(author__icontains=keyword))
  8. elif searchtype == "author":
  9. #單個字段模糊查詢
  10. sciencenews = models.Sciencenews.objects.filter(author__icontains=keyword)
  11. elif searchtype == "title":
  12. sciencenews = models.Sciencenews.objects.filter(title__icontains=keyword)
  13. elif searchtype == "content":
  14. sciencenews = models.Sciencenews.objects.filter(content__icontains=keyword)
  15. else:
  16. #使用點連接的filter鏈表示and
  17. sciencenews = models.Sciencenews.objects.filter(author__icontains=keyword).\
  18. filter(title__icontains=keyword).filter(content__icontains=keyword)
  19. return render(request,"show/index.html",{"param":sciencenews,"searchtype":searchtype,"keyword":keyword})

  #多個字段模糊查詢, 括號中的下劃線是雙下劃線,雙下劃線前是字段名,雙下劃線後可以是icontains或contains,區別是是否大小寫敏感,豎線是或的意思sciencenews = models.Sciencenews.objects.filter(Q(title__icontains=keyword)|Q(content__icontains=keyword)|Q(author__icontains=keyword))

【轉】Django模糊查詢