創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!
10年積累的網(wǎng)站制作、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有江蘇免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。Django中什么是ORM?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
1.什么是ORM
ORM 全拼Object-Relation Mapping。
中文意為 對(duì)象-關(guān)系映射。
在MVC/MVT設(shè)計(jì)模式中的Model模塊中都包括ORM。
2.ORM優(yōu)勢(shì)
(1)只需要面向?qū)ο缶幊? 不需要面向數(shù)據(jù)庫(kù)編寫(xiě)代碼。
對(duì)數(shù)據(jù)庫(kù)的操作都轉(zhuǎn)化成對(duì)類(lèi)屬性和方法的操作。
不用編寫(xiě)各種數(shù)據(jù)庫(kù)的sql語(yǔ)句。
(2)實(shí)現(xiàn)了數(shù)據(jù)模型與數(shù)據(jù)庫(kù)的解耦, 屏蔽了不同數(shù)據(jù)庫(kù)操作上的差異。
不在關(guān)注用的是mysql、oracle...等。
通過(guò)簡(jiǎn)單的配置就可以輕松更換數(shù)據(jù)庫(kù), 而不需要修改代碼。
3.ORM劣勢(shì)
相比較直接使用SQL語(yǔ)句操作數(shù)據(jù)庫(kù),有性能損失。
根據(jù)對(duì)象的操作轉(zhuǎn)換成SQL語(yǔ)句,根據(jù)查詢的結(jié)果轉(zhuǎn)化成對(duì)象, 在映射過(guò)程中有性能損失。
4.ORM和數(shù)據(jù)庫(kù)關(guān)系:
在Django中model是你數(shù)據(jù)的單一、明確的信息來(lái)源。它包含了你存儲(chǔ)的數(shù)據(jù)的重要字段和行為。通常,一個(gè)模型(model)映射到一個(gè)數(shù)據(jù)庫(kù)表。
基本情況:
每個(gè)模型都是一個(gè)Python類(lèi),它是django.db.models.Model的子類(lèi)。
模型的每個(gè)屬性都代表一個(gè)數(shù)據(jù)庫(kù)字段。
綜上所述,Django為您提供了一個(gè)自動(dòng)生成的數(shù)據(jù)庫(kù)訪問(wèn)API。
關(guān)于Django中什么是ORM問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道了解更多相關(guān)知識(shí)。