django框架實現(xiàn)對象關(guān)系映射的方法

小編給大家分享一下django框架實現(xiàn)對象關(guān)系映射的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)主要從事網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)淮北,10年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

Django的ORM來源:django中內(nèi)嵌了ORM框架,不需要直接面向數(shù)據(jù)庫編程,而是定義模型類,通過模型類和對象完成數(shù)據(jù)表的增刪改查操作。

Django連接數(shù)據(jù)庫MySQL:使用MySQL數(shù)據(jù)庫首先需要安裝驅(qū)動程序。(pip install PyMySQL 調(diào)用時為 import pymysql)

Django默認導(dǎo)入的mysql的驅(qū)動程序是MySQLdb,然而MySQLdb對于py3支持不全,所以這里使用PyMySQL。 用于Python鏈接Mysql數(shù)據(jù)庫的接口。需要在__init__文件指定

from pymysql import install_as_MySQLdb    install_as_MySQLdb()  。作用是讓Django的ORM能以mysqldb的方式來調(diào)用PyMySQL。

ORM介紹:對象關(guān)系映射。在項目與數(shù)據(jù)庫之間起橋梁作用。

在ORM框架中,它幫我們把類和數(shù)據(jù)表進行了一個映射,可以讓我們通過類和類對象就能操作它所對應(yīng)的表格中的數(shù)據(jù)。例如:模型類BookInfo --映射到–> 數(shù)據(jù)表bookinfo。使數(shù)據(jù)庫設(shè)計更加簡單.

ORM框架還有一個功能,它可以根據(jù)我們設(shè)計的類自動幫我們生成數(shù)據(jù)庫中的表格,省去了我們自己建表的過程。

核心思想: 用面向?qū)ο蟮姆绞饺ゲ僮鲾?shù)據(jù)庫的創(chuàng)建表、增加、修改、刪除、查詢等操作。把面向?qū)ο笾械念惡蛿?shù)據(jù)庫表一一對應(yīng),通過操作類和對象,對數(shù)據(jù)表實現(xiàn)數(shù)據(jù)操作,不需要寫sql,由orm框架生成。

Django的ORM操作原理:Django的orm操作本質(zhì)上會根據(jù)對接的數(shù)據(jù)庫引擎,翻譯成對應(yīng)的sql語句;所有使用Django開發(fā)的項目無需關(guān)心程序底層使用的是MySQL、Oracle、sqlite…,如果數(shù)據(jù)庫遷移,只需要更換Django的數(shù)據(jù)庫引擎即可

Django的ORM優(yōu)點缺點:

1)只需要面向?qū)ο缶幊? 不需要面向數(shù)據(jù)庫編寫代碼.

對數(shù)據(jù)庫的操作都轉(zhuǎn)化成對類屬性和方法的操作.不用編寫各種數(shù)據(jù)庫的sql語句.

2)實現(xiàn)了數(shù)據(jù)模型與數(shù)據(jù)庫的解耦, 屏蔽了不同數(shù)據(jù)庫操作上的差異.不在關(guān)注用的是mysql,oracle…等.通過簡單的配置就可以輕松更換數(shù)據(jù)庫, 而不需要修改代碼.

3)在映射過程中有性能缺失,面向?qū)ο缶幊痰絪ql語句之間的映射需要過程時間,造成性能缺失

配置步驟:

在settings.py中配置了數(shù)據(jù)庫的連接配置信息

指定調(diào)用MySQL的驅(qū)動程序PyMySQL

在MySQL中創(chuàng)建數(shù)據(jù)庫

創(chuàng)建模型:

遷移

1)生成遷移文件 python manage.py makemigrations

2)同步到數(shù)據(jù)庫中 python manage.py migrate

看完了這篇文章,相信你對django框架實現(xiàn)對象關(guān)系映射的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享標題:django框架實現(xiàn)對象關(guān)系映射的方法
網(wǎng)頁網(wǎng)址:http://bm7419.com/article42/igsoec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、電子商務(wù)微信小程序、Google、網(wǎng)站改版、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)