Django models filter篩選條件

2021-09-01 02:23:07 字數 976 閱讀 4557

條件選取queryset的時候,filter表示=,exclude表示!=。

queryset.distinct() 去重複

__exact 精確等於 like 'aaa'

__iexact 精確等於 忽略大小寫 ilike 'aaa'

__contains 包含 like '%aaa%'

__icontains 包含 忽略大小寫 ilike '%aaa%',但是對於sqlite來說,contains的作用效果等同於icontains。

__gt 大於

__gte 大於等於

__lt 小於

__lte 小於等於

__in 存在於乙個list範圍內

__startswith 以...開頭

__istartswith 以...開頭 忽略大小寫

__endswith 以...結尾

__iendswith 以...結尾,忽略大小寫

__range 在...範圍內

__year 日期欄位的年份

__month 日期欄位的月份

__day 日期欄位的日

__isnull=true/false

例q1.filter(pub_date__gte=datetime.date.today())表示為時間》=now,q1.exclude(pub_date__gte=datetime.date.today())表示為<=now

「在django models中取得乙個欄位的distinct值」。就是select distinct *** from table_name ...這樣的功能。使用values會生成valuesqueryset(形如n個dict組成的list),猜測大資料無額外效能影響,畢竟queryset系列都是使用時才查詢操作的。

***x.objects.values("field_name").distinct() 或者 ***x.objects.distinct().values("field_name")

02條件篩選

使用者有可能會根據分類搜尋 品牌搜尋,還有可能根據規格搜尋,以及 搜尋和排序操作。根據分類和品牌搜尋的時候,可以直接根據指定域搜尋,而規格搜尋的域資料是不確定的,是乙個區間搜尋,所以我們可以分為三段實現,先實現分類 品牌搜素,再實現規格搜尋,然後實現 區間搜尋。2.1.1需求分析 頁面每次向後台傳入...

es6條件查詢篩選資料

引用場景如下,列表查詢時需要用到前端查詢 具體實現方法如下 前面定義的變數是查詢條件,this.alldata表示被篩選的資料,filtedata是查詢結果 querydata this.officerdata filterdata 因為有多個地方需要用到前端查詢,我們可以進行封裝 在util.js...

查詢資料時,怎麼篩選的要查多少條

n m條記錄1.select topm into 臨時表 或表變數 from tablename order bycolumnname 將top m筆插入 setrowcount nselect from 表變數 order bycolumnname desc2.select topn from s...