django中Q的用法

2021-10-07 20:21:37 字數 755 閱讀 5300

from django.db.models import q

student.objects.

filter

(q(age__gt=18)

| q(age__lt=10)

)# 上面為查詢年齡大於18或者小於10歲的學生

我們如果想查詢非得時候其實可以使用exclude,比如下面

student.objects.exclude(age=15)

# 將學生年齡為15歲的排除掉

由於q非常的靈活,如果要求查詢名字不等於jack,並且大於10歲的

# 第一種

student.objects.exclude(name=jack)

.filter

(age__10)

# 第二種

student.objects.

filter

(~q(name=jack)

, age__gt=

10)

我們在進行聚合的時候,比如使用count,如果我們想要在聚合的過程中,進行條件過濾,可能你覺得不會發生,如果想過濾,直接在前面使用filter不就好了,但是,如果我們的表關係足夠複雜,並且查詢條件比較複雜,是需要的

count(

'pk'

,filter

=q(account_type=

true

))

Django中的F物件與Q物件

1.f物件 如果需要對同一模型類物件的兩個屬性進行比較,則需要使用到f物件 該物件被定義在django.db.models中 from django.db.models import f filminfo.objects.filter playcount gt f commentcount 也可以對...

Django 中form的用法

form的主要作用 1.在html中生成表單框架,2.驗證資料 實話實說,很簡潔,但不實用,靈活性差 from django.db import models create your models here.class userinfo models.model name models.charfi...

perl中q系列符號用法總結

在perl語言中,有兩個特殊而常用的符號qq qw,分別解釋如下 qq的意思為意思為雙引號字串,可內插變數 相當於 foobar qw的意思為用空格分解字串,得到列表,相當於如下語句 split foo bar 得到的結果是 foo bar 字串比較等於用 eq q運算子對 號轉義的方式 somew...