Django項目實戰 - 搜索功能


首先,前端已實現搜索功能頁面, 我們直接寫后台邏輯:

 

Q()可以實現 邏輯或的判斷,   name_ _ icontains 表示 name字段包含搜索的內容,i表示忽略大小寫。

from django.db.models import Q

all_orgs
= CourseOrg.objects.all() search_keywords = request.GET.get("keywords", "") if search_keywords: all_orgs = all_orgs.filter(Q(name__icontains=search_keywords) | Q(desc__icontains=search_keywords))

 需要注意的是:

、Q對象可以與關鍵字參數查詢一起使用,不過一定要把Q對象放在關鍵字參數查詢的前面。
    # 正確:
    Book.objects.get(
        Q(pub_date=date(2005, 5, 2)) | Q(pub_date=date(2005, 5, 6)),
        title__startswith='P')
    # 錯誤:
    Book.objects.get(
        question__startswith='P',
        Q(pub_date=date(2005, 5, 2)) | Q(pub_date=date(2005, 5, 6)))
 
        

 

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM