1. #
  2. """
  3. ---- 正向查询按字段,反向查询按表名
  4. 一: 一对多
  5. 正向查询:(字段对象.关联表.查询字段)
  6. x_obj = models.Book.objects.filter(xxx).first()
  7. x_obj.publish.email
  8. 反向查询:(字段对象.要查询的表名小写_set.all())
  9. x_obj = models.Publish.objects.filter(xxx).first()
  10. for i in x_obj.book_set.all():
  11. print(i)
  12. 二: 多对对
  13. 正向查询:(字段对象.关联表.all()) 查询所有
  14. x_obj = modles.Bookobjects.filter(xxx).first()
  15. for author in x_obj.authors.all():
  16. print(author.name, author.age)
  17.  
  18. 反向查询:(字段对象.关联表_set.all())
  19. x_obj = modles.Author.objects.filter(xxx).first()
  20. for book in x_obj_set.all():
  21. print(book.title)
  22.  
  23. 三:一对一
  24. 正向查询:(字段对象.关联表名.关联表名字段)
  25. x_obj = modles.Author.objects.filter(xxx).first()
  26. x_obj = authorDetail.telephone
  27.  
  28. 反向查询:()
  29. x_obj = modles.AuthorDetail.objects.filter(xxx).first()
  30. x_obj.author.name
  31.  
  32. 四:聚合/分组
  33.  
  34. 聚合:
  35. from django.db.models import Sum,Count,Avg
  36. ret = models.Book.objects.all().aggregate(price=Sum('price'))
  37.  
  38. 分组:
  39. 1. queryset对象.annotate()
  40. 2. annotate进行分组统计,按前面select 的字段进行 group by
  41. 3. annotate() 返回值依然是 queryset对象,增加了分组统计后的键值对
  42.  
  43. modles.dep.objects.values("name").annotate(c=Count('emp__name')).values('name','c')
  44. # 查询 dep 表, 按name 分组 , 将 emp下的name字段计数,返回结果是 name字段 和 计数结果
  45.  
  46. modles.book.objects.values('id').annotate(c=Content( ))
  47. """#
  1. 直接执行原生的SQL语句,类似pymysql的用法
  2. # from django.db import connection
  3. # cursor = connection.cursor() # 获取光标,等待执行SQL语句
  4. # cursor.execute("""SELECT * from person where id = %s""", [1])
  5. # row = cursor.fetchone()
  6. # print(row)

python - django (查询、聚合、分组)的更多相关文章

  1. day056-58 django多表增加和查询基于对象和基于双下划线的多表查询聚合 分组查询 自定义标签过滤器 外部调用django环境 事务和锁

    一.多表的创建 from django.db import models # Create your models here. class Author(models.Model): id = mod ...

  2. Django 多表查询练习题 Q查询 F查询 聚合 分组

    -------------------------------------------------自己偷的懒,或许用加倍时间也补不回来,珍惜现在的拥有的时光,把我现在! 上节回顾 基于对象的跨表查询( ...

  3. python django查询12306火车票

    逢年过节,想坐个高铁票,都得上12306去买票,但用过的都会发现,它会把临近站点的也筛出来了.但有时我们压根就不会考虑买到临近站点的. 另一方面,在购票高峰期,有可能你要的出发站到目的站都没有票了,这 ...

  4. Python - Django - ORM 聚合查询和分组查询

    models.py: from django.db import models # 出版社 class Publisher(models.Model): id = models.AutoField(p ...

  5. Django值聚合,分组,事物,cookie,session

    1,聚合(aggregate):是queryset的一个 终止语句,它返回一个包含键值对的字典,键是的名称是聚合值的标识符,值是计算出来的聚合值,键的名称是按照字段和聚合函数自动生成出来的.用到的内置 ...

  6. SQL你必须知道的-查询聚合分组排序

    use MySchoolTwo    -- 简单查询    select * from Student    -- 话说这种查询的效率要比 * 要高级点    select sId , sName , ...

  7. python django查询一周,一月,一年时间

    首先是当前时间的确定,对于年月日,orm模型都有对应的方法直接查询,周是没有方法直接查询的,我是没有找到这个方法,只能间接的查询 1 2 3 now_time = datetime.datetime. ...

  8. python 之 Django框架(orm单表查询、orm多表查询、聚合查询、分组查询、F查询、 Q查询、事务、Django ORM执行原生SQL)

    12.329 orm单表查询 import os if __name__ == '__main__': # 指定当前py脚本需要加载的Django项目配置信息 os.environ.setdefaul ...

  9. python全栈开发day68-ORM操作:一般操作、ForeignKey操作、ManyToManyField、聚合查询和分组查询、F查询和Q查询等

    ORM操作 https://www.cnblogs.com/maple-shaw/articles/9403501.html 一.一般操作 1. 必知必会13条 <1> all(): 查询 ...

随机推荐

  1. 自己实现CountDownLatch

    自己实现的CountDownLatch ,只是模拟他的功能而已.jdk中的实现采用的是AQS public class MyCountDownLatch { private final int tot ...

  2. hdu 5418 题解

    第一眼看到这题,哇,这不是我刚做完的题吗?大水题!然后 这题表面很水,实际上有点坑. 题意 求经过 $ 1 - n $(不能遗漏) 并且回到 $ 1 $ 的最短路. 在看这题之前我们可以来看下这题 最 ...

  3. Python08之分支和循环3(for、while循环)

    一.for语句: for 目标 in 表达式: 循环体 i = "湖人总冠军" for each in i: print(each) 湖 人 总 冠 军 for each in i ...

  4. 关于NumPy的常用函数random.randint

    np.random.randint(low, high=None, size=None, dtype='l') 该函数作用:用于产生离散均匀分布的整数 low:生成元素的最小值 high:生成元素的值 ...

  5. 音量调节条-封装通用的ProgressBar组件

    import React, { Component } from 'react' import PropTypes from 'prop-types' import assign from 'obje ...

  6. React Hooks中父组件中调用子组件方法

    React Hooks中父组件中调用子组件方法 使用到的hooks-- useImperativeHandle,useRef /* child子组件 */ // https://reactjs.org ...

  7. bootstrap栅格系统的container和row一些关系

    container有个15px的padding,而我们设定的每个col也都有15px的padding,如果两者直接配合,那么就会产生30px的间距,导致内容和浏览器边框的距离较大,所以用row将所有的 ...

  8. Self寄宿

    static void Main(string[] args) { //Assembly.Load("WebApplication1, Version=1.0.0.0, Culture=ne ...

  9. 字符串replace的理解和练习和配合正则表达式的使用

    下面代码展示了(demo地址 https://codepen.io/peach_/pen/jONJjRY): 1.字符串replace的理解和练习和配合正则表达式的使用, 2.正则表达式学习 3.通过 ...

  10. CentOS 6.x 配置iptables

    CentOS 6.x 配置iptables 来源 https://www.cnblogs.com/chillax1314/p/7976067.html iptables -P INPUT DROP-- ...