1. 程式人生 > >010:Django高階模型

010:Django高階模型

本章知識點
1、Django模型關係欄位介紹與使用
2、Django模型關係欄位查詢
知識點講解
1、Django模型關係欄位介紹與使用
業務主體間的關係
學生 和 專業 關係
一個學生對應一個專業
一個專業對應多個學生
一對多關係 Foreignkey 外來鍵
查詢這個學生對應的專業
查詢這個專業所有學生
學生 和 老師的關係
一個學生對應多個老師
一個老師對應多個學生
多對多關係 ManyToManyField
一個老師教過的所有學員
一個學員所有的老師

外來鍵
專業 一
學生 多
外來鍵欄位 對應 專業表的主鍵
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
我們研究這兩種關係,從以下的兩個角度
1、資料表
一對多正常生成資料表
多對多額外生成關係表
在這裡插入圖片描述


在這裡插入圖片描述
關係表的結構如下:
在這裡插入圖片描述
在這裡插入圖片描述
一個老師有多個學生
老師表裡無法表示多個學生
一個學生有多個老師
學生表裡無法表示多個老師
建立了關係表

一個學科有多個學生
學科表無法表示多個學生
學生表可以表示一個學科
案例如下:
在這裡插入圖片描述
Teacher在這裡插入圖片描述
Project在這裡插入圖片描述
Student在這裡插入圖片描述
Teacher_student在這裡插入圖片描述
Select * from teacher wherr id in (select teacher_id from student_techer where = student_id = (Select id from student where name = “小白”))
2、Django模型關係欄位查詢


1、外來鍵
查詢學生對應的專案
在這裡插入圖片描述
這樣的查詢時候最簡單的,學生當中外來鍵欄位對應的就是外來鍵的完整資訊,可以直接獲取
專案對應的所有學生
檢視部分
在這裡插入圖片描述
前端部分在這裡插入圖片描述
2、多對多資料
老師和學生
老師對應所有學生
在這裡插入圖片描述
學生對應的所有老師在這裡插入圖片描述
本章總結
Django模型關係欄位介紹與使用
Django模型關係欄位查詢