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

  • 相关阅读:
    jQuery插件开发模式
    优化布局
    jquery easyui 选项卡
    easy ui 点击行展开与折叠
    考拉海购技术支持的前世今生
    跑的好好的 Java 进程,怎么突然就瘫痪了
    Dubbo 如何成为连接异构微服务体系的最佳服务开发框架
    微服务治理实践:如何对单点异常进行自动摘除
    盘点阿里巴巴 15 款开发者工具
    千万创业者的自白:踩过坑才明白这些真相!
  • 原文地址:https://www.cnblogs.com/lirunsheng/p/10996841.html
Copyright © 2011-2022 走看看