亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:2日期:2022-08-02 10:39:10

條件查詢

范圍查詢

模糊查詢

條件查詢

all()

返回全部結果集

filter(**kwargs)

返回滿足參數定義的結果集 例如

Entry.objects.filter(pub_date__year=2006)

exclude(**kwargs)

返回不滿足參數定義的結果集 例如

Entry.objects.exclude(pub_date__year=2006)

鏈式查詢

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()返回的是一個結果集,如果你確定你要返回的是一條結果,那么就可以使用get() 例如

Entry.objects.get(pk=1)

get()與filter()區別

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

范圍查詢

LimitingEntry.objects.all()[:5]

將會返回前5條記錄

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

將會返回5~10條記錄

order_by

排序

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

將會按照’headline’進行排序,然后返回第一條記錄

語法:字段 + 兩條下劃線 + 內置查詢字段

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

常用來篩選出屬于某個連續區間的對象

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

包含‘xxx’(大小寫敏感),常用于找出包含某些關鍵字的對象

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

等同于

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

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

startswith

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

Entry.objects.filter(name__startswith=’高級’)

等同于

SELECT ... WHERE name LIKE ’高級%’;

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

endswith

以‘xxx’結尾(大小寫敏感)

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

isnull

可設置為True或者False,用來篩選某字段 為NULL / 不為NULL 的對象

Entry.objects.filter(description__isnull=True)

等同

SELECT ... WHERE description IS NULL;

補充知識:Django filter **conditions多條件多字段過濾篩選數據

Application context 應用場景:

新增的一條數據不能與DB庫里有的數據重復或者需要多條件/多字段篩選數據時需要用到 **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 查詢介紹(條件、范圍、模糊查詢)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 青青青国产依人精品视频 | 国产黄色片视频 | 日韩免费中文字幕 | 黄网站在线观看永久免费 | 国产三级a三级三级午夜 | 黑人狂躁日本妞中文字幕 | 亚洲综合激情六月婷婷在线观看 | 亚洲精品亚洲人成在线麻豆 | 色综合网亚洲精品久久 | 深夜你懂的在线网址入口 | 老司机深夜福利在线观看 | se婷婷| 日本毛片大全 | 成年美女毛片黄网站色奶头大全 | 91久久国产精品视频 | 色婷婷亚洲综合五月 | 日韩一区国产二区欧美三区 | 黄色特一级片 | 色一情一伦一区二区三 | 视频二区精品中文字幕 | 国产精品亚洲w码日韩中文 国产精品亚洲成在人线 | 一级做a爰片欧美一区 | 永久免费观看视频 | 精品国产成人 | 亚洲成a人片在线播放观看国产 | 中文无码日韩欧免费视频 | 久久国产亚洲欧美日韩精品 | 欧美成人免费xxx大片 | 国产免费高清国产在线视频 | 性色a v 一区| 欧美日韩中文字幕 | 凹凸69堂国产成人精品视频 | 1314亚洲人成网站在线观看 | 亚洲产在线精品第一站不卡 | 欧美日韩一区二区在线视频播放 | 久草首页在线 | 国产aaaaaaa毛片 | 亚洲视频在线精品 | 日本特黄视频 | 久久国产欧美日韩精品免费 | 日韩国产免费一区二区三区 |