django中查询表中数据

一.查询函数
通过 模型类.objects属性可以调用如下函数,实现对模型类对应的数据表的查询。 (这里objects是django为我们实现的一个模型管理类的对象)
(1)get

返回满足条件的一条且只有一条数据。返回值是一个模型类的对象。
参数中写查询条件。
1)如果查到多条数据,则抛异常MultipleObjectsReturned。
2)查询不到数据,则抛异常:DoesNotExist

(2)all
返回模型类对应的表中所有的数据。返回的是一个Queryset集合。
(3)filter
返回满足条件的数据,返回值是一个Queryset集合。
(4)exclude
返回不满足条件的数据,返回值是一个Queryset集合。
(5)order_by
对查询的结果进行排序,返回值是一个Queryset集合。
查询条件格式
条件格式:
模型类属性名__条件名=值

a)判等
条件名:exact。
可以省略。
b)模糊查询
contains 包含
startwith 开头 endwith 结尾
c)空查询
isnull
d) 范围查询
in
e)比较查询
lt 小于 gt 大于 gte大于等于 lte小于等于
f)日期查询
year 年份

二.F对象
用于类属性之间的比较。使用之前需要先导入:
   from django.db.models import F
二.Q对象
用于查询时条件之间的逻辑关系。not and or,可以对Q对象进行~&|操作。 使用前应该先导入:
from django.db.models import Q
三.聚合函数
对查询结果进行聚合操作。 sum count avg max min

(1)aggregate
调用这个函数来使用聚合。返回值是一个字典。

先要导入聚合类:

	from django.db.models import Sum,Count,Max,Min,Avg

(2)count函数 返回值是一个数字.

他们是对查询结果进行操作。
例如:

查询结果.aggregate(Count(要统计的字段属性))
关联查询
通过多类的条件查询一类的数据:
     一类名.objects.filter(多类名小写__多类属性名__条件名) 
通过一类的条件查询多类的数据:
      多类名.objects.filter(关联属性__一类属性名__条件名)
queryset查询集
查询集特性:

1)惰性查询:只有在实际使用查询集中的数据的时候才会发生对数据库的真正查询。

2)缓存:当使用的是同一个查询集时,第一次使用的时候会发生实际数据库的查询,然后把结果缓存起来,之后再使用这个查询集时,使用的是缓存中的。

可以用角标或者切片的方式来限制查询值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值