在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