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

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

时间2025-06-20 20:52:10分类IT科技浏览4443
导读: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
npm install报错(npm install 时,卡住不动,五种解决方法)