08-Django的模型查询相关函数

查询

修改mysql的日志文件:
让其产生mysql.log,即是mysql的日志文件,里面记录的对mysql数据的操作记录。

1.使用下面命令打开mysql的配置文件,去除68,69行注释,然后保存:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

2.重启mysql服务,就会产生mysql日志文件:
sudo service mysql restart

3.打开Mysql的日志文件
/var /log/mysql/mysql.log 是mysql日志文件所在位置
使用下面命令可以实时查看mysql的日志文件:
sudo tail -f /var/log/mysql/mysql.log

在这里插入图片描述

查询函数

get方法

b=BookInfo.objects.get(id=1)
返回表中满足条件的一条数据,满足条件的有多条数据就需要用filter函数

all方法

b=BookInfo.objects.all()
查询结果是一个查询集,可以遍历

filter方法

BookInfo.objects.filter(btitle__contains=‘传’)
模糊查询,书名中包含“传”的

BookInfo.objetcs.fliter(btitle__startwith=‘大’)
查询书名以大开头的,endwith,以什么结尾的模糊查询。

Bookinfo.objects.filter(btitle__isnull=False)
图书名不为空的查询

BookInfo.objects.fliter(id__gt=3)
查询图书编号大于3的,gt大于,lt小于,gte大于等于

BookInfo.objects.fliter(bpub_date__year==1980)
查询1980年的图书

BookInfo.objects.fliter(bpub__date__gt=date(1980,1,1))
查询1980年1月1日以后的图书

BookInfo.objects.exclude(id=3)
查询id不等于3的图书信息

BookInfo.objects.all().order_by(‘id’)
查询所有图书的结果,按照id大小进行排序

Q对象

作用:对于查询时条件之间的关系。not and or,可以对Q对象进行&|~操作
BookInfo.

F对象

用于类属性之间的比较,以上的都是与值进行比较
使用之前需要先导入
from django.db.models import F

查询阅读量大于评论量的图书
BookInfo.objects.fliter(bread__gt=F(‘bcomment’))

查询阅读量大于两倍评论量的图书信息
BookInfo.objects.fliter(bread__gt=F(‘bcomment’)×2)

聚合函数

对查询结果进行聚合操作

查询所有图书的数目
from django.db.models import Count
BookInfo.objects.all().aggregate(Count(‘id’))

查询所有图书的阅读量的总和
from django.db.models import Sum
BookInfo.objects.aggregate(Sum(‘bread’))

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值