九、Django之ORM
阿新 • • 發佈:2018-07-25
關聯 數據訪問層 類屬性 編寫 tin 當我 多對一 mysqld 不同類
一、前言
用於實現面向對象編程語言裏不同類型系統的數據之間的轉換,換言之,就是用面向對象的方式去操作數據庫的創建表以及增刪改查等操作。
到目前為止,當我們的程序涉及到數據庫相關操作時,一般操作流程如下:
- 創建數據庫,設計表結構和字段;
- 使用 MySQLdb 來連接數據庫,並編寫數據訪問層代碼,使用原生SQL語句進行訪問數據;
- 業務邏輯層去調用數據訪問層執行數據庫操作,獲取結果;
ORM是什麽?Object Relational Mapping(關系對象映射)
1、類名------>數據庫中的表名
2、類屬性--------->數據庫的字段
3、類實例--------->數據庫表裏的一條記錄
4、obj.id obj.name------>獲取類實例對象的屬性
Django ORM的優勢:
1、Django的orm操作本質是根據對接的數據庫引擎,翻譯成對應的sql語句, 避免新手寫sql語句帶來的性能問題,同時ORM使我們的通用數據庫交互變得簡單易行,而且完全不用考慮復雜的SQL語句。
2、所有使用Django開發的項目無需關心程序底層使用的是MySQL、Oracle、sqlite....等數據庫,如果數據庫需要遷移,只需要更換Django的數據庫引擎即可;
二、ORM定義
1、梳理關系和建模
2、定義表和確定字段
3、setttings和同步數據庫
三、ORM的關系
關系數據庫的威力體現在表之間的相互關聯。 Django 提供了三種最常見的數據庫關系:多對一(many-to-one),多對多(many-to-many),一對一(one-to-one)。
1、多對一(many-to-one)
2、多對多(many-to-many)
3、一對一(one-to-one)
四、ORM的操作
1、增
2、刪
3、改
4、查
九、Django之ORM