1. 程式人生 > >九、Django之ORM

九、Django之ORM

關聯 數據訪問層 類屬性 編寫 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