Django中的F物件與Q物件

2021-10-21 18:01:26 字數 618 閱讀 7195

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...