在Django中,數據庫的查詢方法非常多,而且用法非常靈活,下面總結幾個常用的用法:
1、獲取數據庫全部信息:
model對象.objects.all()
2、根據條件獲取某一個數據(注意: 這種方法只能獲取一個 如果有多個內容符合條件就會報錯)
model對象.objects.get(條件)
3、根據條件獲取一組數據(注意:這種方法獲取到的是一個可迭代的對象, 要想在html中渲染出來,需要for循環)
model對象.object.filter(條件)
4、獲取除設置條件之外的數據
model對象.objects.exclude(條件)
5、查詢字段
model對象.objects.values(字段)(看下面代碼比較好理解)
6、排序(默認正序排序,若想倒序, 只需在排序字段之前加一個負號 " - ")
model對象.objects.filter(條件).order_by(排序字段)
7、添加一條內容
model對象.objects.create(添加內容)
8、鏈式查詢
model對象.objects.all().filter(條件一).filter(條件二)
9、計數
model對象.objects.filter(條件)count(條件)
還有模糊查詢的很多用法 就不在這裏說了 大家想學習的可以去別的大神的博客中看一下
10 模糊查詢
屬性__contains == 值 : 某個屬性中是否包含這個值
屬性__startswith == 值 : 某個屬性是否已這個值開頭
屬性__endswith == 值 : 某個屬性是否已這個值結尾
11 運算查詢
某個屬性的內容是否等於一個值 可以直接用 == 但是大於 小於 大於等於 小於等於 需要專門方法
gt: 大於 屬性__gt = 值 某個屬性值是否大於這個值
gte: 大於等於 屬性__gte = 值 某個屬性值是否大於等於這個值
lt: 小於 屬性__lt = 值 某個屬性值是否小於這個值
lte: 小於等於 屬性__lte = 值 某個屬性值是否小於等於這個值
事先準備的數據庫:
1、獲取數據庫全部信息:
model對象.objects.all() :查詢數據庫中所有數據
2、根據條件獲取某一個數據(注意: 這種方法只能獲取一個 如果有多個內容符合條件就會報錯)
model對象.objects.get(條件) : 查詢數據庫中 name是葉修的人
3、根據條件獲取一組數據(注意:這種方法獲取到的是一個可迭代的對象, 要想在html中渲染出來,需要for循環)
model對象.object.filter(條件): 查詢數據庫中所有的女性角色
4、鏈式查詢
model對象.objects.all().filter(條件一).filter(條件二) Python中推薦一行代碼 所有Django中有鏈式查詢 比較符合Python風格
查詢是女性且來自於《全職高手》小說的角色
5、獲取除設置條件之外的數據
model對象.objects.exclude(條件): 查詢數據庫中所有的非女性角色
6、查詢字段
model對象.objects.values(字段)(看下面代碼比較好理解): 查詢數據庫內容的 name gender source字段
7、排序(默認正序排序,若想倒序, 只需在排序字段之前加一個負號 " - ")
model對象.objects.filter(條件).order_by(排序字段)
正序:按年齡大小從小到大排序
7、1 倒序: 按年齡大小倒序排序
8、添加一條內容
model對象.objects.create(添加內容)
9、計數
model對象.objects.filter(條件)count(條件): 查詢數據庫中女性角色的個數
10 模糊查詢
10.1 __contains: startswith與endswith就不演示了
11 運算符查詢 gte與lte就不演示了
11.1 __gt
11.2 __lt