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

  • 相关阅读:
    VirtualBox设置共享文件夹失败的解决方法
    内存泄漏
    javascript语言精粹学习记录一
    javascript之继承
    HadoopFSDataset
    linux eclipse启动问题及解决方法
    css规范总结
    pycharm
    第十章 call和ret指令
    第五章 [bx]和loop指令
  • 原文地址:https://www.cnblogs.com/lirunsheng/p/10996841.html
Copyright © 2011-2022 走看看