所有的軟體開發過程中,都會涉及到物件和關係型資料庫,在使用者層面和業務邏輯層面,程式設計師編寫**都是物件導向的,當我們物件的資訊發生變化的時候,都需要將對應的資訊,傳到關係型資料庫中.而在此之前,需要我們編寫對應的sql語句來建立資料表,
(例如: 建立乙個auth_user表,需要定義好每乙個字段,給字段設定好對應型別,屬性 ,並且給資料表設定主鍵或唯一鍵.然後定義好錶的儲存引擎 ,字元編碼)
然後在業務邏輯中,會有很多sql語句,對錶進行增刪改查操作
然後在業務邏輯中,會有很多sql語句,對錶進行增刪改查操作,
python的一大設計思想-_一切事務皆物件
能不能將對資料庫的操作,也通過物件導向的方式來實現呢???
--因此就有了 orm
什麼是orm?
將我們的物件,自動xx化到關係型資料庫中,相當於充當業務邏輯層和資料庫層的橋梁
那麼,在django中,我們應該如何開發模型類呢?
這就是 models.py檔案的作用!
-django中,每建乙個應用的時候,都會在應用的資料夾下,
自動生成乙個 models.py檔案,這裡就是編寫模型類的地方
模型類的優勢與劣勢:
優勢--
開發人員能夠專注於業務邏輯的處理,提高開發效率,
以後就不需要在業務邏輯**中編寫原生的sql語句了,通過操作物件的方式,就能夠運算元據庫!
劣勢--
一定程度上犧牲程式的執行效率,
orm寫的久了,可能會忘了sql語句
專案中如何取捨? --
複雜的sql語句,或者資料庫層面的功能--使用原生sql更加方便
提公升開發效率 --使用orm
例如-在flask中使用 sqlalchemy 就像在django中使用orm一樣方便,執行效率只比原生sql慢了5%,相對於提公升的開發效率,這點效能損耗是可以接受的!
資料庫中ORM框架介紹,建模型類和生成遷移
django中內嵌了orm框架,不需要直接面向資料庫程式設計,而是定義模型類,通過模型類和物件完成資料表的增刪改查操作。使用django進行資料庫開發的步驟如下 配置資料庫連線資訊 在models.py中定義模型類 遷移通過類和物件完成資料增刪改查操作 orm作用 在settings.py中儲存了資...
orm之中介模型
中介模型針對的是manytomany 多對多 的時候第三張表的問題,中介模型其實指的就是我們不通過django建立第三張表,如果自己不建立第三張表,而是由django給我們建立,那就不存在中介模型 class book models.model title models.charfield max ...
Orm之中介模型
中介模型針對的是manytomany 多對多 的時候第三張表的問題,中介模型其實指的就是我們不通過django建立第三張表,如果自己不建立第三張表,而是由django給我們建立,那就不存在中介模型 class book models.model title models.charfield max ...