Django之單表查詢數據庫操作

在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

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章