ORM模型類介紹,


 所有的軟件開發過程中,都會涉及到對象和關系型數據庫,在用戶層面和業務邏輯層面,程序員編寫代碼都是面向對象的,當我們對象的信息發生變化的時候,都需要將對應的信息,傳到關系型數據庫中.而在此之前,需要我們編寫對應的SQL語句來創建數據表,

 (例如: 創建一個auth_user表,需要定義好每一個字段,給字段設置好對應類型,屬性 ,並且給數據表設置主鍵或唯一鍵.然后定義好表的存儲引擎 ,字符編碼)

 然后在業務邏輯中,會有很多SQL語句,對表進行增刪改查操作

  然后在業務邏輯中,會有很多SQL語句,對表進行增刪改查操作,

 舉例子; 通過POST請求提交商品評論信息

  python的一大設計思想-_一切事務皆對象

 能不能將對數據庫的操作,也通過面向對象的方式來實現呢???

   --因此就有了 ORM

 

 什么是ORM?

    將我們的對象,自動XX化到關系型數據庫中,相當於充當業務邏輯層和數據庫層的橋梁

 

 那么,在Django中,我們應該如何開發模型類呢?

 這就是 Models.py文件的作用!

 -Django中,每建一個應用的時候,都會在應用的文件夾下,

 自動生成一個 models.py文件,這里就是編寫模型類的地方

 

 模型類的優勢與劣勢:

  優勢--

  開發人員能夠專注於業務邏輯的處理,提高開發效率,

  以后就不需要在業務邏輯代碼中編寫原生的SQL語句了,通過操作對象的方式,就能夠操作數據庫!

 劣勢--

  一定程度上犧牲程序的執行效率,

  ORM寫的久了,可能會忘了SQL語句

 

  項目中如何取舍? --

    復雜的SQL語句,或者數據庫層面的功能--使用原生SQL更加方便

    提升開發效率 --使用ORM

  例如-

  在Flask中使用 Sqlalchemy 就像在Django中使用ORM一樣方便,執行效率只比原生SQL慢了5%,相對於提升的開發效率,這點性能損耗是可以接受的!

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM