1.f物件
如果需要對同一模型類物件的兩個屬性進行比較,則需要使用到f物件
該物件被定義在django.db.models中
>>> from django.db.models import f
>>> filminfo.objects.filter(playcount__gt=f('commentcount'))
也可以對f物件進行算數運算
filminfo.objects.filter(playcount__gt=f("commentcount")*2)
2.q物件
如果需要實現邏輯查詢則需要使用q物件,同樣的它也被定義在django.db.models中
q物件可以使用&、|進行連線,&表示邏輯與,|表示邏輯或
>>> filminfo.objects.filter(q(playcount__gt=20)|q(fid__lt=1003)
如果需要表示邏輯非,則可以在q物件之前使用~操作符
例:
查詢編號不等於1003的影⽚。
>>> filminfo.objects.filter(~q(fid=1003))
Django 查詢集 F物件以及Q物件
f物件 eg 常適用於表內屬性的值的比較 模型 class company models.model c name models.charfield max length 16 c gril num models.integerfield default 5 c boy num models.int...
10Django的Q物件和F物件
f物件和q物件 f物件作用 標記字段,無需獲取資料庫欄位到本地就能對資料庫中的指定字段進行操作 例如點讚高併發場景使用f物件更新點讚值即可實現如下這條sql語句的效果 update biao set money money 1 where id x 批量更新零售價 book.objects.all ...
Django學習路18 F物件和Q物件
f 物件 可以使用模型的 a 屬性和 b 屬性進行比較 寫法 需要的資料物件 資料表 類名 objects.filter 列名 條件 f 列名2 需求 檢視男生數量比女生少 的公司名稱 companies company.objects.filter c boy num lt f c girl nu...