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

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

时间2025-05-05 09:44:38分类IT科技浏览3454
导读: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
打开网页显示dns_probe_possible(Win10网页打不开提示DNS_PROBE_POSSIBLE错误怎么办?) 网站SEO优化技巧(能让你的网站排名更靠前)