付沛 陳娜
Django的MVC框架中包括一個重要的部分,就是ORM,它實現(xiàn)了數(shù)據(jù)模型與數(shù)據(jù)庫的解耦,即數(shù)據(jù)模型的設計不需要依賴于特定的數(shù)據(jù)庫,通過簡單的配置就可以輕松更換數(shù)據(jù)庫。
ORM是“對象-關系-映射”的簡稱,主要任務是:根據(jù)對象的類型生成表結構
將對象、列表的操作,轉換為SQL語句;將SQL查詢到的結果轉換為對象、列表;Django中的模型包含存儲數(shù)據(jù)的字段和約束,對應著數(shù)據(jù)庫中唯一的表。
模型是項目的數(shù)據(jù)來源。每個模型都是一個Python類,并且映射到一個數(shù)據(jù)庫表。模型的每個屬性相當于數(shù)據(jù)庫表的一個字段。使用模型對象可完成各種數(shù)據(jù)庫表操作。定義模型就是實現(xiàn)一個django.db.models.Model類的子類,父類 Model 包含與數(shù)據(jù)庫交互所需的全部機制。Django 通過模型在背后執(zhí)行 SQL,在模型中定義屬性,每個屬性都映射到一個數(shù)據(jù)庫列。模型的文件名稱默認為models.py,也可使用其他名稱。
實現(xiàn)步驟如下:
一、 搭建環(huán)境
(1)安裝Python、Django 、SqliteStudio和VSCode。
二、 創(chuàng)建一個項目
(1)按Windows+R組合鍵啟動程序,在彈出的對話框中輸入cmd進入命令行中,輸入D: 回車進入D盤下,輸入以下指令創(chuàng)建MyTest項目:
django-admin startproject ?MyTest ?回車
(2)項目創(chuàng)建完成后,接下來需要創(chuàng)建應用,一個項目可以包含多個應用。輸入 以下指令進入MyTest項目下創(chuàng)建MyApp應用:
cd MyTest ?回車
python manage.py startapp MyApp 回車
(3)輸入以下指令打開VSCode(VSCode和.之間有一個空格)
code .
(4)找到Setting.py文件的INSTALL_APP中,最后一行中加入‘MyApp應用,并按Ctrl+S保存文件:
三、利用ORM創(chuàng)建模型
(1)打開models.py文件,添加如下代碼并按Ctrl+S保存,表會自動添加一個主鍵列id:
(2)從菜單欄“查看----終端”打開終端,執(zhí)行如下命令生成遷移文件并執(zhí)行遷移
python manage.py makemigrations ?回車
python manage.py migrate 回車
四、操作數(shù)據(jù)庫數(shù)據(jù)
(1)輸入以下命令進入當前項目的Shell交互環(huán)境:
python manage.py shell
(2)輸入以下命令導入模型類:
from MyApp.models import MyData
(3)輸入以下命令為表MyData插入4行數(shù)據(jù),數(shù)據(jù)表如圖所示
MyData.objects.create(question='test434',answer='aaa')
MyData.objects.create(question='Test4334',answer='xxx')
MyData.objects.create(question='test334334',answer='kkk')
MyData.objects.create(question='srtest478',answer='fff')
(4)輸入以下命令修改表MyData中id為8的行question值為abc,數(shù)據(jù)表如圖所示
ds=MyData.objects.get(id="8")
ds.question="abc"
ds.save()
(5)輸入以下命令刪除表MyData中id為8的行,數(shù)據(jù)表如圖所示
faqsdata.objects.get(id="8").delete()
(1. 武漢城市職業(yè)學院 ? 湖北 ?武漢 ? 430070;武漢軟件工程職業(yè)學院 ? ? ?湖北 ?武漢 ? 430205)