成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

django框架實(shí)現(xiàn)對(duì)象關(guān)系映射的方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、虛擬主機(jī)、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、永善網(wǎng)站維護(hù)、網(wǎng)站推廣。

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

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

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

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

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

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

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

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

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

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

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

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

對(duì)數(shù)據(jù)庫(kù)的操作都轉(zhuǎn)化成對(duì)類屬性和方法的操作.不用編寫(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)在映射過(guò)程中有性能缺失,面向?qū)ο缶幊痰絪ql語(yǔ)句之間的映射需要過(guò)程時(shí)間,造成性能缺失

配置步驟:

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

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

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

創(chuàng)建模型:

遷移

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

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

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

本文題目:django框架實(shí)現(xiàn)對(duì)象關(guān)系映射的方法-創(chuàng)新互聯(lián)
文章分享:http://jinyejixie.com/article36/ddecsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)品牌網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)移動(dòng)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、企業(yè)建站

廣告

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

成都定制網(wǎng)站建設(shè)
北京市| 平顺县| 外汇| 桐梓县| 安丘市| 永吉县| 凤庆县| 天祝| 河间市| 麻城市| 芜湖县| 鸡泽县| 博客| 连州市| 同江市| 米林县| 凤凰县| 巨鹿县| 雷州市| 天津市| 山丹县| 乌审旗| 罗定市| 山阴县| 涡阳县| 乌鲁木齐县| 金平| 六枝特区| 乌拉特后旗| 武威市| 高阳县| 五原县| 宜兴市| 石台县| 竹山县| 闵行区| 霍州市| 阆中市| 古蔺县| 驻马店市| 从化市|