在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 = 值   某个属性值是否小于等于这个值

 

事先准备的数据库:

django mysql 查询 django查询数据库_属性值

1、获取数据库全部信息:

           model对象.objects.all() :查询数据库中所有数据

django mysql 查询 django查询数据库_属性值_02

django mysql 查询 django查询数据库_属性值_03

2、根据条件获取某一个数据(注意: 这种方法只能获取一个 如果有多个内容符合条件就会报错)

          model对象.objects.get(条件) :  查询数据库中 name是叶修的人

django mysql 查询 django查询数据库_字段_04

django mysql 查询 django查询数据库_字段_05

3、根据条件获取一组数据(注意:这种方法获取到的是一个可迭代的对象, 要想在html中渲染出来,需要for循环)

          model对象.object.filter(条件):    查询数据库中所有的女性角色

django mysql 查询 django查询数据库_属性值_06

django mysql 查询 django查询数据库_django mysql 查询_07

4、链式查询

     model对象.objects.all().filter(条件一).filter(条件二) Python中推荐一行代码  所有Django中有链式查询  比较符合Python风格

     查询是女性且来自于《全职高手》小说的角色

django mysql 查询 django查询数据库_字段_08

django mysql 查询 django查询数据库_属性值_09

 

5、获取除设置条件之外的数据

      model对象.objects.exclude(条件):    查询数据库中所有的非女性角色

django mysql 查询 django查询数据库_属性值_10

django mysql 查询 django查询数据库_数据_11

6、查询字段 

      model对象.objects.values(字段)(看下面代码比较好理解):   查询数据库内容的 name  gender  source字段

django mysql 查询 django查询数据库_数据_12

7、排序(默认正序排序,若想倒序, 只需在排序字段之前加一个负号 " - ")

     model对象.objects.filter(条件).order_by(排序字段)

     正序:按年龄大小从小到大排序

django mysql 查询 django查询数据库_字段_13

django mysql 查询 django查询数据库_字段_14

7、1 倒序:  按年龄大小倒序排序

django mysql 查询 django查询数据库_数据_15

django mysql 查询 django查询数据库_django mysql 查询_16

8、添加一条内容

      model对象.objects.create(添加内容) 

django mysql 查询 django查询数据库_数据_17

django mysql 查询 django查询数据库_数据_18

9、计数

     model对象.objects.filter(条件)count(条件): 查询数据库中女性角色的个数

django mysql 查询 django查询数据库_django mysql 查询_19

django mysql 查询 django查询数据库_数据_20

 

 

10  模糊查询

  10.1  __contains:  startswith与endswith就不演示了

django mysql 查询 django查询数据库_数据_21

django mysql 查询 django查询数据库_字段_22

11  运算符查询   gte与lte就不演示了

  11.1  __gt

django mysql 查询 django查询数据库_django mysql 查询_23

 

django mysql 查询 django查询数据库_django mysql 查询_24

 

 11.2  __lt

 

django mysql 查询 django查询数据库_属性值_25

 

django mysql 查询 django查询数据库_字段_26