1. 返回queryset物件的查詢
all() 以列表形式返回全部queryset物件
filter(**kwargs) 篩選
exclude(**kwargs) 排除
reverse() 反轉
order_by(field) 排序
distinct() 去重
2. 特殊的queryset物件
values(field) 返回乙個可迭代的裝有字典的列表
values_list(field) 返回乙個可迭代的裝有元組的列表
3. 返回具體物件
get(**kwargs) 只能獲取乙個物件,匹配到多個或沒有會報錯
first() 第乙個,等價於all()[0]
last() 最後乙個
4. 返回布林值
exists() 判斷物件列表是否為空
5. 返回數字
count() 計數,返回物件列表的個數
二. 雙下劃線模糊查詢__
對關鍵字查詢的約束
1. 數字查詢
id__gt=10 id大於10的 gte是大於等於
id__lt=10 id小於10的 lte是小於等於
id__range=[10,20] id在10-20之間的
id__in=[10,20] id為10或者20的
2. 字串查詢
title__contains="string" 字串中包含string的,icontains區分大小寫
title__startswith="str" 以str開頭的字串,istartswith區分大小寫
title__endswith="ing" 以ing結尾的字串,iendswith區分大小寫
3. 日期
date__year=2019 日期是2023年的,month月,day日
1. 返回queryset物件的查詢
all() 以列表形式返回全部queryset物件
filter(**kwargs) 篩選
exclude(**kwargs) 排除
reverse() 反轉
order_by(field) 排序
distinct() 去重
2. 特殊的queryset物件
values(field) 返回乙個可迭代的裝有字典的列表
values_list(field) 返回乙個可迭代的裝有元組的列表
3. 返回具體物件
get(**kwargs) 只能獲取乙個物件,匹配到多個或沒有會報錯
first() 第乙個,等價於all()[0]
last() 最後乙個
4. 返回布林值
exists() 判斷物件列表是否為空
5. 返回數字
count() 計數,返回物件列表的個數
二. 雙下劃線模糊查詢__
對關鍵字查詢的約束
1. 數字查詢
id__gt=10 id大於10的 gte是大於等於
id__lt=10 id小於10的 lte是小於等於
id__range=[10,20] id在10-20之間的
id__in=[10,20] id為10或者20的
2. 字串查詢
title__contains="string" 字串中包含string的,icontains區分大小寫
title__startswith="str" 以str開頭的字串,istartswith區分大小寫
title__endswith="ing" 以ing結尾的字串,iendswith區分大小寫
3. 日期
date__year=2019 日期是2023年的,month月,day日
MySQL單錶多字段模糊查詢
在最近的乙個專案需要實現在單錶中對多字段進行多個關鍵字的模糊查詢,但這數個關鍵字並不一定都存在於某個字段。例如現有table表,其中有 title,tag,description三個字段,分別記錄一條資料的標題,標籤和介紹。然後根據使用者輸入的查詢請求,將輸入的字串通過空格分割為多 個關鍵字,再在這...
模糊查詢和排序查詢
1.表示任意一位字元 2.表示任意位數的任意字元 3.要實現模糊查詢需要使用到關鍵字 like 基本語法 3 select 1 from 資料 2 where 模糊查詢的字段 like 模糊查詢的關鍵字 注意 模糊查詢要在where字句中使用。查詢姓名是以a開頭的雇員資訊select from em...
ORM跨表查詢總結
一 基於物件的查詢 子查詢 1 一對多 正向查詢 基於 字段 反向查詢 基於 表名 set.all 注意 表名全部小寫 2 多對多 正向查詢 基於 欄位.all 反向查詢 基於 表名 set.all 注意 表名全部小寫 3 一對一 正向查詢 基於 字段 反向查詢 基於 表名 注意 表名全部小寫 二 ...