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

 

 

 

 

 

 

 

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