烧脑时刻:「用Django的ORM优雅的实现复杂查询」

用Django的ORM优雅的实现复杂查询

15大案例带你领略Django的ORM做复杂查询的优雅

众所周知,Django的ORM让我们操作数据库变得异常简单。但有的人觉得ORM太束手束脚了,无法实现一些复杂的查询操作。真的是这样的吗?做完下面这15道ORM查询题目你就知道了!

假设有以下ORM模型:
在这里插入图片描述
按照你自己对ORM的理解实现下面的查询操作:

1.查询平均成绩大于60分的同学的id和平均成绩;

2.查询所有同学的id、姓名、选课的数量、总成绩;

3.查询姓“李”的老师的个数;

4.查询没学过“李老师”课的同学的id、姓名;

5.查询学过课程id为1和2的所有同学的id、姓名;

6.查询学过“黄老师”所教的“所有课”的同学的id、姓名;

7.查询所有课程成绩小于60分的同学的id和姓名;

8.查询没有学全所有课的同学的id、姓名;

9.查询所有学生的姓名、平均分,并且按照平均分从高到低排序;

10.查询各科成绩的最高和最低分,以如下形式显示:课程ID,课程名称,最高分,最低分;

11.查询没门课程的平均成绩,按照平均成绩进行排序;

12.统计总共有多少女生,多少男生;

13.将“黄老师”的每一门课程都在原来的基础之上加5分;

14.查询两门以上不及格的同学的id、姓名、以及不及格课程数;

15.查询每门课的选课人数;

以上15个题目使用ORM来实现可谓是非常的优雅。如果对于以上15个题目可以做到信手拈来,那基本上处理工作中绝大部分查询工作是绰绰有余了!更多干货内容,欢迎关注公众号:知了python


版权声明:本文为jspython原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。