django orm 常用查詢篩選

本文主要列舉一下django orm中的常用查詢的篩選方法:

  • 大于、大于等于
  • 小于摔吏、小于等于
  • in
  • like
  • is null / is not null
  • 不等于/不包含于
  • 其他模糊查詢

model:

class User(AbstractBaseUser, PermissionsMixin):
    uuid = ShortUUIDField(unique=True)
    username = models.CharField(max_length=100, db_index=True, unique=True, default='')
    schoolid = models.CharField(max_length=100, null=True, blank=True, default='')
    classid = models.CharField(max_length=100, null=True, blank=True, default='')
    fullname = models.CharField(max_length=50, default='', null=True, blank=True)
    email = models.EmailField(_('email address'), blank=True, null=True)
    age = models.SmallIntegerField(default=0)

大于、大于等于

__gt  大于
__gte  大于等于

User.objects.filter(age__gt=10)    // 查詢年齡大于10歲的用戶
User.objects.filter(age__gte=10)  // 查詢年齡大于等于10歲的用戶

小于溪胶、小于等于

__lt  小于
__lte 小于等于

User.objects.filter(age__lt=10)     // 查詢年齡小于10歲的用戶
User.objects.filter(age__lte=10)   // 查詢年齡小于等于10歲的用戶

in

__in

查詢年齡在某一范圍的用戶
User.objects.filter(age__in=[10, 20, 30])

like

__exact        精確等于 like 'aaa'
__iexact       精確等于 忽略大小寫 ilike 'aaa'
__contains     包含 like '%aaa%'
__icontains    包含 忽略大小寫 ilike '%aaa%'稳诚,但是對于sqlite來說哗脖,contains的作用效果等同于icontains。

is null / is not null

__isnull  判空

User.objects.filter(username__isnull=True)    // 查詢用戶名為空的用戶
User.objects.filter(username__isnull=False)  // 查詢用戶名不為空的用戶

不等于/不包含于

User.objects.filter().exclude(age=10)    // 查詢年齡不為10的用戶
User.objects.filter().exclude(age__in=[10, 20])  // 查詢年齡不為在 [10, 20] 的用戶

其他模糊查詢

__startswith 以…開頭
__istartswith 以…開頭 忽略大小寫
__endswith 以…結(jié)尾
__iendswith 以…結(jié)尾才避,忽略大小寫
__range 在…范圍內(nèi)
__year 日期字段的年份
__month 日期字段的月份
__day 日期字段的日

更多查詢可參考:django ORM model filter 條件過濾,及多表連接查詢桑逝、反向查詢,某字段的distinct

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末茬暇,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子糙俗,更是在濱河造成了極大的恐慌,老刑警劉巖巧骚,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件格二,死亡現(xiàn)場離奇詭異劈彪,居然都是意外死亡顶猜,警方通過查閱死者的電腦和手機(jī)沧奴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門驶兜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人抄淑,你說我怎么就攤上這事∷磷剩” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵郑原,是天一觀的道長。 經(jīng)常有香客問我犯犁,道長,這世上最難降的妖魔是什么酸役? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任驾胆,我火速辦了婚禮贱呐,結(jié)果婚禮上丧诺,老公的妹妹穿的比我還像新娘奄薇。我一直安慰自己,他們只是感情好馁蒂,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著远搪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谁鳍。 梳的紋絲不亂的頭發(fā)上劫瞳,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機(jī)與錄音志于,去河邊找鬼。 笑死伺绽,一個(gè)胖子當(dāng)著我的面吹牛养泡,可吹牛的內(nèi)容都是我干的奈应。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼杖挣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了惩妇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤歌殃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后氓皱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贮懈,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡优训,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了揣非。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抡医。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡早敬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出搞监,到底是詐尸還是另有隱情,我是刑警寧澤琐驴,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站绝淡,受9級特大地震影響宙刘,放射性物質(zhì)發(fā)生泄漏牢酵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一馍乙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丝格,春花似錦撑瞧、人聲如沸铁追。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至涩禀,卻和暖如春料滥,著一層夾襖步出監(jiān)牢的瞬間艾船,已是汗流浹背葵腹。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留践宴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓阻肩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親烤惊。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容