q表示式詳解:
如果想要實現所有**高於100元,並且評分達到9.0以上評分的圖書。那麼可以通過以下**來實現:
books = book.objects.filter(price__gte=100,rating__gte=9)以上這個案例是乙個並集查詢,可以簡單的通過傳遞多個條件進去來實現。
但是如果想要實現一些複雜的查詢語句,比如要查詢所有**低於10元,或者是評分低於9分的圖書。那就沒有辦法通過傳遞多個條件進去實現了。這時候就需要使用 q表示式 來實現了。示例**如下:
from django.db.models import以上是進行或運算,當然還可以進行其他的運算,比如有 & 和 ~(非) 等。一些用 q 表示式的例子如下:qbooks = book.objects.filter(q(price__lte=10) | q(rating__lte=9))
from django.db.models importq#例項**截圖:獲取id等於3的圖書
books = book.objects.filter(q(id=3))
#獲取id等於3,或者名字中包含文字"記"的圖書
books = book.objects.filter(q(id=3)|q(name__contains("記"
)))#
獲取**大於100,並且書名中包含"記"的圖書
books = book.objects.filter(q(price__gte=100)&q(name__contains("記"
)))#
獲取書名包含「記」,但是id不等於3的圖書
books = book.objects.filter(q(name__contains='
記') & ~q(id=3))
django資料庫Q查詢
要查詢的日誌表 選擇日誌中特定使用者名稱,並且操作時間在start date與end date之間的表項 查詢語句如下 chosed user logs.objects.filter q log account num current user.account num q deal time gte...
django查詢資料庫
特殊過濾 django資料庫查詢時,一般就是 modelname.objects.a ll modelname.objects.filter modelname.objects.get 等等,在過濾時,如果過濾條件假設是其中的某一欄位,比如 id,要求id 5,或者是乙個範圍比如1 id 5,前者可...
django資料庫查詢
特殊過濾 django資料庫查詢時,一般就是 modelname.objects.a ll modelname.objects.filter modelname.objects.get 等等,在過濾時,如果過濾條件假設是其中的某一欄位,比如 id,要求id 5,或者是乙個範圍比如1 id 5,前者可...