Django框架之ORM基本實現原理

2021-10-06 06:25:23 字數 1371 閱讀 7864

django的orm**:django中內嵌了orm框架,不需要直接面向資料庫程式設計,而是定義模型類,通過模型類和物件完成資料表的增刪改查操作。

django連線資料庫mysql:使用mysql資料庫首先需要安裝驅動程式。(pip install pymysql 呼叫時為 import pymysql)

django預設匯入的mysql的驅動程式是mysqldb,然而mysqldb對於py3支援不全,所以這裡使用pymysql。 用於python鏈結mysql資料庫的介面。需要在__init__檔案指定

from pymysql import install_as_mysqldb install_as_mysqldb() 。作用是讓django的orm能以mysqldb的方式來呼叫pymysql。

orm介紹:物件關係對映。在專案與資料庫之間起橋梁作用。

在orm框架中,它幫我們把類和資料表進行了乙個對映,可以讓我們通過類和類物件就能操作它所對應的**中的資料。例如:模型類bookinfo --對映到–> 資料表bookinfo。使資料庫設計更加簡單

orm框架還有乙個功能,它可以根據我們設計的類自動幫我們生成資料庫中的**,省去了我們自己建表的過程。

核心思想: 用物件導向的方式去運算元據庫的建立表、增加、修改、刪除、查詢等操作。把物件導向中的類和資料庫表一一對應,通過操作類和物件,對資料表實現資料操作,不需要寫sql,由orm框架生成。

django的orm操作原理:django的orm操作本質上會根據對接的資料庫引擎,翻譯成對應的sql語句;所有使用django開發的專案無需關心程式底層使用的是mysql、oracle、sqlite…,如果資料庫遷移,只需要更換django的資料庫引擎即可

django的orm優點缺點:

1)只需要物件導向程式設計, 不需要面向資料庫編寫**.

對資料庫的操作都轉化成對類屬性和方法的操作.不用編寫各種資料庫的sql語句.

2)實現了資料模型與資料庫的解耦, 遮蔽了不同資料庫操作上的差異.不在關注用的是mysql,oracle…等.通過簡單的配置就可以輕鬆更換資料庫, 而不需要修改**.

3)在對映過程中有效能缺失,物件導向程式設計到sql語句之間的對映需要過程時間,造成效能缺失

配置步驟:

在settings.py中配置了資料庫的連線配置資訊

指定呼叫mysql的驅動程式pymysql

在mysql中建立資料庫

建立模型:

遷移1)生成遷移檔案 python manage.py makemigrations

2)同步到資料庫中 python manage.py migrate

python之Django框架的ORM簡介

databases 2.在與django 專案同名的目錄下的 init py 檔案中寫下如下 告訴django 使用pymysql模組連線mysql資料庫 import pymysql pymysql.install as mysqldb 3.資料庫遷移的時候出現乙個警告 warnings mysq...

Django框架之ORM解析和實際應用

orm分為兩種 1 db first 先建立資料庫表結構,根據表結構生成類,根據類運算元據庫 2 code first 是先寫 後建立資料庫,根據類建立資料庫表.主流的orm都是code first。django 的orm也是code first django連線資料庫mysql 使用mysql資料...

Django之ORM資料對映

資料對映在django中的應用 1 一對一關係 models.onetoonefield 相當於唯 一 外來鍵 2 一對多關係 models.foreignkey 3 多對多關係 models.manytomanyfield 相當於關聯表中建立兩個唯一外來鍵關聯 比如有書 描述表 出版社 作者這4張...