f物件 eg:常適用於表內屬性的值的比較
模型:class company(models.model):
c_name = models.charfield(max_length=16)
c_gril_num = models.integerfield(default=5)
c_boy_num = models.integerfield(default=3)
f: 獲取字段資訊,通常用在模型的自我屬性比較,支援算術運算
eg:男生比女生少的公司
companies = company.objects.filter(c_boy_num__lt=f('c_gril_num'))
eg:女生比男生多15個人
companies = company.objects.filter(c_boy_num__lt=f('c_gril_num')-15)
q物件 eg:常適用於邏輯運算 與或或 非
年齡小於25:
student.objects.filter(q(sage__lt=25))
eg:男生人數多餘5 女生人數多於10個:
companies = company.objects.filter(c_boy_num__gt=1).filter(c_gril_num__gt=5)
companies = company.objects.filter(q(c_boy_num__gt=5)|q(c_gril_num__gt=10))
支援邏輯運算:
與或非&|~
年齡大於等於的:
student.objects.filter(~q(sage__lt=25))
Django之F和Q查詢
當一般的查詢語句已經無法滿足我們的需求時,django為我們提供了f和q複雜查詢語句。假設場景一 老闆說對資料庫中所有的商品,在原 的基礎 價10元,你該怎麼做?場景二 我要查詢乙個名字叫 年齡是18歲,或者名字是yyy,年齡是是19歲的人,你該怎麼寫你的orm語句?一 f查詢 1 2 3 4 fr...
Django之F和Q查詢
當一般的查詢語句已經無法滿足我們的需求時,django為我們提供了f和q複雜查詢語句。假設場景一 老闆說對資料庫中所有的商品,在原 的基礎 價10元,你該怎麼做?場景二 我要查詢乙個名字叫 年齡是18歲,或者名字是yyy,年齡是是19歲的人,你該怎麼寫你的orm語句?一 f查詢 1 2 3 4 fr...
Django之F與Q查詢
from django.db.models import f,q 1.查詢庫存數大於賣出數的書籍 res models.book.objects.filter kucun gt f maichu print res 2.將所有書的 提高100 models.book.objects.update p...