
## 假設有以下ORM模型
```
from django.db import models
class Student(models.Model):
"""學生表"""
name = models.CharField(max_length=100)
gender = models.SmallIntegerField()
class Meta:
db_table = 'student'
class Course(models.Model):
"""課程表"""
name = models.CharField(max_length=100)
teacher = models.ForeignKey("Teacher",on_delete=models.SET_NULL,null=True)
class Meta:
db_table = 'course'
class Score(models.Model):
"""分數表"""
student = models.ForeignKey("Student",on_delete=models.CASCADE)
course = models.ForeignKey("Course",on_delete=models.CASCADE)
number = models.FloatField()
class Meta:
db_table = 'score'
class Teacher(models.Model):
"""老師表"""
name = models.CharField(max_length=100)
class Meta:
db_table = 'teacher'
```
### 使用之前學到過的操作實現下面的查詢操作:
1.查詢平均成績大于60分的同學的id和平均成績;
2.查詢所有同學的id、姓名、選課的數量、總成績;
3.查詢姓“李”的老師的個數;
4.查詢沒學過“李老師”課的同學的id、姓名;
5.查詢學過課程id為1和2的所有同學的id、姓名;
6.查詢所有課程成績小于60分的同學的id和姓名;
7.查詢沒有學全所有課的同學的id、姓名;
8.查詢所有學生的姓名、平均分,并且按照平均分從高到低排序;
9.查詢各科成績的最高和最低分,以如下形式顯示:課程ID,課程名稱,最高分,最低分;
10.統計總共有多少女生,多少男生;
11.將“黃老師”的每一門課程都在原來的基礎之上加5分;
12.查詢兩門以上不及格的同學的id、姓名、以及不及格課程數;
13.查詢每門課的選課人數;
- 空白目錄
- 1-Django前導知識
- 1-1-虛擬環境
- 1-2-Django框架介紹與環境搭建
- 2-URL與視圖
- 2-1-URL與視圖
- 3-模板
- 3-1-模板介紹
- 3-2-模板變量
- 3-3-常用標簽
- 3-4-模板常用過濾器
- 3-5-模板結構優化
- 3-6-加載靜態文件
- 4-數據庫
- 4-1-操作數據庫
- 4-2-圖書管理系統
- 4-3-ORM模型介紹
- 4-4-ORM模型的增刪改查
- 4-5-模型常用屬性
- 4-6-外鍵和表
- 4-7-查詢操作
- 4-8-QuerySet的方法
- 4-9-ORM模型練習
- 4-10-ORM模型遷移
- 5-視圖高級
- 1-Django限制請求method
- 2-頁面重定向
- 3-HttpRequest對象
- 4-HttpResponse對象
- 5-類視圖
- 6-錯誤處理
- 6-表單
- 1-用表單驗證數據
- 2-ModelForm
- 3-文件上傳
- 7-session和cookie
- 1-session和cookie
- 8-memcached
- 1-memcached
- 9-阿里云部署
- 阿里云部署