zoukankan      html  css  js  c++  java
  • F对象、Q对象、聚合函数

    F对象
    作用:用于类属性之间的比较。
    使用之前需要先导入:
    from django.db.models import F
    例:查询图书阅读量大于评论量图书信息。
    BookInfo.objects.filter(bread__gt=F('bcomment'))
    例:查询图书阅读量大于2倍评论量图书信息。
    BookInfo.objects.filter(bread__gt=F('bcomment')*2)

    Q对象
    作用:用于查询时条件之间的逻辑关系。not and or,可以对Q对象进行&|~操作。
    使用之前需要先导入:
    from django.db.models import Q
    例:查询id大于3且阅读量大于30的图书的信息。
    BookInfo.objects.filter(id__gt=3, bread__gt=30)
    BookInfo.objects.filter(Q(id__gt=3)&Q(bread__gt=30))
    例:查询id大于3或者阅读量大于30的图书的信息。
    BookInfo.objects.filter(Q(id__gt=3)|Q(bread__gt=30))
    例:查询id不等于3图书的信息。
    BookInfo.objects.filter(~Q(id=3))

    聚合函数
    作用:对查询结果进行聚合操作。
    sum count avg max min
    aggregate:调用这个函数来使用聚合。 返回值是一个字典
    使用前需先导入聚合类:
    from django.db.models import Sum,Count,Max,Min,Avg
    例:查询所有图书的数目。
    BookInfo.objects.all().aggregate(Count('id'))
    {'id__count': 5}
    例:查询所有图书阅读量的总和。
    BookInfo.objects.aggregate(Sum('bread'))
    {'bread__sum': 126}
    count函数 返回值是一个数字
    作用:统计满足条件数据的数目。
    例:统计所有图书的数目。
    BookInfo.objects.all().count()
    BookInfo.objects.count()
    例:统计id大于3的所有图书的数目。
    BookInfo.objects.filter(id__gt=3).count()

    参考文档:
        http://python.usyiyi.cn/translate/django_182/ref/models/querysets.html

  • 相关阅读:
    服务器键盘设置错误 完美解决
    windows 彻底删除360文件 360zipext.dll 等等
    VS2005智能设备中无法找到PInvoke DLL
    如何使用DotNet 2.0中的应用程序配置 Settings.settings
    维护应用程序状态(一):使用浏览器cookie
    NHibernate学习导航
    HTML基础(三):基本的HTML标签
    使用Cookie对象保存用户自定义设置
    ASP.NET2.0 个性化用户配置
    sealed修饰符的使用
  • 原文地址:https://www.cnblogs.com/lirunsheng/p/10996841.html
Copyright © 2011-2022 走看看