亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python Django2 model 查詢介紹(條件、范圍、模糊查詢)

 更新時(shí)間:2020年03月16日 11:37:58   作者:森林嶼麓  
這篇文章主要介紹了Python Django2 model 查詢介紹(條件、范圍、模糊查詢),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧

條件查詢

范圍查詢

模糊查詢

條件查詢

all()

返回全部結(jié)果集

filter(**kwargs)

返回滿足參數(shù)定義的結(jié)果集 例如

Entry.objects.filter(pub_date__year=2006)

exclude(**kwargs)

返回不滿足參數(shù)定義的結(jié)果集 例如

Entry.objects.exclude(pub_date__year=2006)

鏈?zhǔn)讲樵?br />

Entry.objects.filter(... 
  headline__startswith='What'... )
.exclude(...
   pub_date__gte=datetime.date.today()... )
.filter(...
   pub_date__gte=datetime.date(2005, 1, 30)... )

也可以這樣

q1 = Entry.objects.filter(headline__startswith="What")
q2 = q1.exclude(pub_date__gte=datetime.date.today())
q3 = q1.filter(pub_date__gte=datetime.date.today())

或者

q = Entry.objects.filter(headline__startswith="What")
q = q.filter(pub_date__lte=datetime.date.today())
q = q.exclude(body_text__icontains="food")
get()

filter()返回的是一個(gè)結(jié)果集,如果你確定你要返回的是一條結(jié)果,那么就可以使用get() 例如

Entry.objects.get(pk=1)

get()與filter()區(qū)別

get()返回單一的一條記錄,返回類型也是一個(gè)對(duì)象,filter()返回的實(shí)際一個(gè)結(jié)果集,返回類型為列表。
使用get(),如果查詢結(jié)果為空,將會(huì)引起DoesNotExist exception,而filter()將會(huì)返回[]

范圍查詢

Limiting
Entry.objects.all()[:5]

將會(huì)返回前5條記錄

Entry.objects.all()[5:10]

將會(huì)返回5~10條記錄

order_by

排序

Entry.objects.order_by('headline')[0]

將會(huì)按照'headline'進(jìn)行排序,然后返回第一條記錄

語(yǔ)法:字段 + 兩條下劃線 + 內(nèi)置查詢字段

lt(lte): 小于(小于等于)

Entry.objects.filter(pub_date__lte='2006-01-01')

等同于

SELECT * FROM ... WHERE pub_date <= '2006-01-01';

gt(gte): 大于(大于等于)

in

Entry.objects.filter(id__in=[1,3])

模糊查詢

range

常用來(lái)篩選出屬于某個(gè)連續(xù)區(qū)間的對(duì)象

Entry.objects.filter(id__range=[1,3])
contains 

包含‘xxx'(大小寫敏感),常用于找出包含某些關(guān)鍵字的對(duì)象

Entry.objects.filter(type__name__contains='python')

等同于

SELECT ... WHERE name LIKE '%python%';

類似的有icontains (大小寫不敏感)。注意contains是大小寫敏感的,icontains是大小寫不敏感的。

startswith

以‘xxx'開頭(大小寫敏感)

Entry.objects.filter(name__startswith='高級(jí)')

等同于

SELECT ... WHERE name LIKE '高級(jí)%';

類似的有istartswith (大小寫不敏感)

endswith

以‘xxx'結(jié)尾(大小寫敏感)

類似的有iendswith (大小寫不敏感)

isnull

可設(shè)置為True或者False,用來(lái)篩選某字段 為NULL / 不為NULL 的對(duì)象

Entry.objects.filter(description__isnull=True)

等同

SELECT ... WHERE description IS NULL;

補(bǔ)充知識(shí):Django filter **conditions多條件多字段過濾篩選數(shù)據(jù)

Application context 應(yīng)用場(chǎng)景:

新增的一條數(shù)據(jù)不能與DB庫(kù)里有的數(shù)據(jù)重復(fù)或者需要多條件/多字段篩選數(shù)據(jù)時(shí)需要用到 **conditions

conditions ={
  'server_ip': ip,
  "bk_biz_id": bk_biz_id,
  'cron_min': c["cron_min"],
  'cron_hour': c["cron_hour"],
  'cron_day': c["cron_day"],
  'cron_month': c["cron_month"],
  'cron_week': c["cron_week"],
  'cron_task': c["cron_task"],
  "creator": c["user"],
  "deleted": 0
}
query_set = CrontabInfo.objects.filter(**conditions)

以上這篇Python Django2 model 查詢介紹(條件、范圍、模糊查詢)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python的argparse庫(kù)使用詳解

    Python的argparse庫(kù)使用詳解

    argparse是python標(biāo)準(zhǔn)庫(kù)里面用來(lái)處理命令行參數(shù)的庫(kù),這篇文章主要介紹了Python的argparse庫(kù)使用詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • Python實(shí)現(xiàn)多個(gè)圓和圓中圓的檢測(cè)

    Python實(shí)現(xiàn)多個(gè)圓和圓中圓的檢測(cè)

    這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)多個(gè)圓檢測(cè)和圓中圓的檢測(cè),文中的實(shí)現(xiàn)方法講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2022-11-11
  • python從Oracle讀取數(shù)據(jù)生成圖表

    python從Oracle讀取數(shù)據(jù)生成圖表

    這篇文章主要介紹了python如何從Oracle讀取數(shù)據(jù)生成圖表,幫助大家更好的利用python處理數(shù)據(jù),感興趣的朋友可以了解下
    2020-10-10
  • 新一代Python包管理工具

    新一代Python包管理工具

    這篇文章主要介紹了新一代Python包管理工具,Python包管理工具,一般就會(huì)想到想到pip、conda等經(jīng)典工具,本篇文章要介紹的是一款新穎的Python包管理工具pdm,需要的小伙伴可以參考一下
    2022-02-02
  • Python+OpenCV實(shí)戰(zhàn)之利用?K-Means?聚類進(jìn)行色彩量化

    Python+OpenCV實(shí)戰(zhàn)之利用?K-Means?聚類進(jìn)行色彩量化

    這篇文章主要介紹了如何利用?K-Means?聚類進(jìn)行色彩量化,以減少圖像中顏色數(shù)量。文中的代碼具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以關(guān)注一下
    2021-12-12
  • Django框架驗(yàn)證碼用法實(shí)例分析

    Django框架驗(yàn)證碼用法實(shí)例分析

    這篇文章主要介紹了Django框架驗(yàn)證碼用法,結(jié)合實(shí)例形式分析了Python Django框架驗(yàn)證碼的功能、實(shí)現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • python實(shí)現(xiàn)隨機(jī)漫步方法和原理

    python實(shí)現(xiàn)隨機(jī)漫步方法和原理

    在本篇文章里小編給大家整理了關(guān)于python如何實(shí)現(xiàn)隨機(jī)漫步的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-06-06
  • Python實(shí)現(xiàn)多項(xiàng)式擬合正弦函數(shù)詳情

    Python實(shí)現(xiàn)多項(xiàng)式擬合正弦函數(shù)詳情

    這篇文章主要介紹了Python實(shí)現(xiàn)多項(xiàng)式擬合正弦函數(shù)詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • Linux永久修改pip配置源的詳細(xì)過程

    Linux永久修改pip配置源的詳細(xì)過程

    默認(rèn)情況下pip使用的是國(guó)外的鏡像,在下載的時(shí)候速度非常慢,所以需要更換PIP的鏡像源,下面這篇文章主要給大家介紹了關(guān)于Linux永久修改pip配置源的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • python如何用正則表達(dá)式提取字符串

    python如何用正則表達(dá)式提取字符串

    這篇文章主要介紹了python如何用正則表達(dá)式提取字符串問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-03-03

最新評(píng)論