首页IT科技django摩托车(学习笔记——Django项目中的F对象,Q对象,聚合函数,排序)

django摩托车(学习笔记——Django项目中的F对象,Q对象,聚合函数,排序)

时间2025-08-02 02:28:23分类IT科技浏览4929
导读:2022-09-30...

2022-09-30

F对象:

  在shell中是用于两个有关联的属性之间的查询              。

使用实例:

查询书籍表中阅读量大于评论量的记录

前提               ,进入pycharm                      ,进入虚拟环境       ,进入shell环境                      。

首先               ,要使用F对象                      ,那么就需要导入F对象

后进行查询

BookInfo1.objects.filter(readcount__gt = F("commentcount"))

-------------------------------

Q对象

  同F对象类似       ,可用于“与               ”        ,“或                      ”                      ,“非       ”的查询

首先导入包含Q的模块              ,

from django.db.models import Q

(1)查询id>2而且阅读量大于100的图书

BookInfo1.objects.filter(Q(id__gt = 2)&Q(readcount__gt = 100))

(2)查询id>8或者阅读量大于50的图书

BookInfo1.objects.filter(Q(id__gt = 8)|Q(readcount__gt = 50))

(3)查询不包含编号为3的图书

BookInfo1.objects.filter(~Q(id__gt = 3))

------------------------

聚合函数

聚合函数的类型有5个        ,Sum,Max,Min,Avg,Count

实例:

首先                       ,需要导入包含的聚合函数的模块              ,如果使用Sum,就导入Sum,例:

from django.db.models import Sum

查询书籍表中阅读量的总和

BookInfo1.objects.aggregate(Sum("readcount"))

  注:此处的聚合函数使用的是“aggregate               ”,而不是“aggredation                      ”        。是一个动词       。

---------------------------------

排序

在Django项目中的表单中,排序默认是按照 升序 进行排序                      。如果想要进行降序的话                       ,就在要排序的属性前面加上一个负号               。

实例:

在书籍表中按照阅读量进行排序                      ,默认为升序

BookInfo1.objects.all().order_by("readcount")

按照降序排列

BookInfo1.objects.all().order_by("-readcount")
声明:本站所有文章,如无特殊说明或标注               ,均为本站原创发布       。任何个人或组织                      ,在未征得本站同意时       ,禁止复制              、盗用                      、采集        、发布本站内容到任何网站       、书籍等各类媒体平台                      。如若本站内容侵犯了原著者的合法权益               ,可联系我们进行处理               。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
python time.ctime()(python的time库详解) linux启动引导器安装在哪里(解析Linux系统启动的引导流程)