阿语python4-1 django框架v5.0第2.7.3节聚合函数和排序函数

news/2024/5/19 4:57:34 标签: django, tapestry, bind, clojure, 堆排序

1. 聚合函数

使用aggregate()过滤器调用聚合函数。聚合函数包括:Avg平均,Count数量,Max最大,Min最小,Sum求和,被定义在django.db.models中。

例:查询图书的总阅读量。

>>> from django.db.models import Sum
>>> BookInfo.objects.aggregate(Sum('readcount'))
{'readcount__sum': 126}

注意aggregate的返回值是一个字典类型,格式如下:

  {'属性名__聚合类小写':值}

  如:{'readcount__sum': 126}

使用count时一般不使用aggregate()过滤器。

例:查询图书总数。

BookInfo.objects.count()

注意count函数的返回值是一个数字。

2. 排序

使用order_by对结果进行排序

# 默认升序
>>> BookInfo.objects.all().order_by('readcount')
<QuerySet [<BookInfo: 射雕英雄传>, <BookInfo: 笑傲江湖>, <BookInfo: 天龙八部>, <BookInfo: 雪山飞狐>]>


# 降序
>>> BookInfo.objects.all().order_by('-readcount')
<QuerySet [<BookInfo: 雪山飞狐>, <BookInfo: 天龙八部>, <BookInfo: 笑傲江湖>, <BookInfo: 射雕英雄传>]>
import os
import sys


if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "bookmanager00.settings")
    try:
        from django.core.management import execute_from_command_line
    except ImportError:
        # The above import may fail for some other reason. Ensure that the
        # issue is really that Django is missing to avoid masking other
        # exceptions on Python 2.
        try:
            import django
        except ImportError:
            raise ImportError(
                "Couldn't import Django. Are you sure it's installed and "
                "available on your PYTHONPATH environment variable? Did you "
                "forget to activate a virtual environment?"
            )
        raise
    execute_from_command_line(sys.argv)



http://www.niftyadmin.cn/n/739824.html

相关文章

流星群侠传服务器维护中是什么意思,流星群侠传万金宝库是什么 万金宝库活动介绍_游戏369...

流星群侠传将在今日进行维护更新&#xff0c;其中万金宝库限时活动将会开放&#xff0c;那么这里就给大家带来了流星群侠传限时活动万金宝库介绍&#xff0c;希望大家能够喜欢。开放时间&#xff1a;2020/12/09-04:00至2020/12/16-03:59万金宝库限时开放&#xff0c;万金锤私藏…

阿语python4-1 django框架v5.0第2.7.2节 F和Q对象

F对象之前的查询都是对象的属性与常量值比较&#xff0c;两个属性怎么比较呢&#xff1f;答&#xff1a;使用F对象&#xff0c;被定义在django.db.models中。语法如下&#xff1a;F(属性名)例&#xff1a;查询阅读量大于等于评论量的图书。>>> from django.db.models …

阿语python4-1 django框架v5.0第2.4节 定义模型类

定义模型类模型类被定义在"应用/models.py"文件中。模型类必须继承自Model类&#xff0c;位于包django.db.models中。接下来首先以"图书-人物"管理为例进行演示。1 定义在models.py 文件中定义模型类。from django.db import models# Create your models h…

阿语python4-1 django框架v5.0第2.6节数据库操作-增、删、改

1 增加增加数据有两种方法。1&#xff09;save通过创建模型类对象&#xff0c;执行对象的save()方法保存到数据库中。>>> from book.models import BookInfo,PeopleInfo >>> book BookInfo( ... namepython入门, ... pub_date2010-1-1 ... …

阿语python4-1 django框架v5.0第3.8节类视图使用

思考&#xff1a;一个视图&#xff0c;是否可以处理两种逻辑&#xff1f;比如get和post请求逻辑。如何在一个视图中处理get和post请求注册视图处理get和post请求以函数的方式定义的视图称为函数视图&#xff0c;函数视图便于理解。但是遇到一个视图对应的路径提供了多种不同HTT…

阿语python4-1 django框架v5.0第3.4节使用 PostMan 对请求进行测试

PostMan 是一款功能强大的网页调试与发送网页 HTTP 请求的 Chrome 插件&#xff0c;可以直接去对我们写出来的路由和视图函数进行调试&#xff0c;作为后端程序员是必须要知道的一个工具。安装方式1&#xff1a;去 Chrome 商店直接搜索 PostMan 扩展程序进行安装安装方式2&…

阿语python4-1 django框架v5.0第3.2节URLconf

浏览者通过在浏览器的地址栏中输入网址请求网站对于Django开发的网站&#xff0c;由哪一个视图进行处理请求&#xff0c;是由url匹配找到的配置URLconf1.settings.py中指定url配置ROOT_URLCONF 项目.urls2.项目中urls.py匹配成功后&#xff0c;包含到应用的urls.pyurl(正则, i…

阿语python4-1 django框架v5.0第3.3节路由命名与reverse反解析(逆向)

1 路由命名在定义路由的时候&#xff0c;可以为路由命名&#xff0c;方便查找特定视图的具体路径信息。1) 在使用include函数定义路由时&#xff0c;可以使用namespace参数定义路由的命名空间&#xff0c;如url(r^,include(book.urls,namespacebook))命名空间表示&#xff0c;凡…