91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

django創建表的方法

發布時間:2020-08-07 10:14:59 來源:億速云 閱讀:181 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關django創建表的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

Django中,與數據庫相關的模塊是model模塊,它提供了一種簡單易操作的API方式與數據庫交互,它是通過ORM映射的方式來操作數據庫,一個類對應數據庫一張表,一個類屬性,對應該表的一個字段,一個實例化的類對象就是一個表中的一行數據信息。在開發的階段,工程師只需要python語言本身進行代碼設計,而不用太過于分散注意力去操作SQL原生操作語句,這樣的方法既有它的優點,同樣也有不足之處。

它們優缺點的大致如下:

優點:

1、實現了代碼與數據庫的解耦合

2、開發者不需要操作太多的原生SQL,可以提高開發效率

3、防止SQL注入,通過對象操作的方式,默認就是防止SQL注入

缺點:

1、犧牲性能,對象轉換到SQL會存在一定的消耗

2、當需要操作較復雜的語句時,用ORM對象操作的方式很難實現

 ORM與數據庫的映射關系如下:

表名--------》類名

字段--------》屬性

表記錄-----》類實例化對象

 ORM的兩大主要功能:

操作表:

--創建表

--修改表

--刪除表

操作表數據行:增、刪、改、查

Django自帶的數據庫為sqlite3,如果需要使用其他數據庫,需要其他的準備工作,并且,使用其他數據庫,需要自己提前建好數據庫,然后通過Django去連接,Django并不會創建數據庫。

完整過程:

一、編寫模型類

在Django項目的APP應用下的models.py文件中編寫類,每一個類就是一個最終都會被映射為一個數據表。在寫類之前有個準備工作,在settings.py文件中的“INSTALLED_APPS”要先加入自己的APP應用,告訴Django有這個應用。如圖:

django創建表的方法

表分為單表,一對一表,一對多表,多對多表,就是表一般不會獨立存在,總會與其他表存在聯系。我創建了三個表,一個表為Publish(出版社),一個表為Author(作者),還有一個表Book(書籍),其中表書籍與表出版社是外鍵關系,與作者是多對多的關系。

 class Publish(models.Model):
 2     name = models.CharField(max_length=64)
 3     city = models.CharField(max_length=63,null=True)
 4     def __str__(self):
 5         return self.name
 6 
 7 
 8 class Author(models.Model):
 9     name = models.CharField(max_length=30)
10     sex = models.CharField(max_length=20)
11     def __str__(self):
12         return self.name
13 
14 class Book(models.Model):
15     title = models.CharField(max_length=64)
16     price = models.IntegerField()
17     color = models.CharField(max_length=64)
18     page_num = models.IntegerField(null=True)
19     publisher = models.ForeignKey("Publish",on_delete=models.CASCADE,null=True)  
#一對多的關系。2.0django中,當有主外鍵和其他對應關系時,需要設置。
20     author = models.ManyToManyField("Author")
21     def __str__(self):
22         return  self.title

二、生成數據表

創建類的代碼已經,寫好,此時需要兩句代碼將類轉換成對應的數據表:

python manage.py makemigrations    #將類轉換成數據表結構
python manage.py  migrate               #根據上一句代碼生成數據表

上面兩句代碼先后執行,不出意外,就會在數據庫里面生成對應的數據表。其中,第一句執行完,會在app應用下的migrations的文件夾下生成操作的記錄文件“0001_initial.py”:

django創建表的方法

這個是記錄models里面改動的執行記錄。

最終生成的數據表如下:

django創建表的方法

感謝各位的閱讀!關于django創建表的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

耒阳市| 夹江县| 三门峡市| 青铜峡市| 嫩江县| 晴隆县| 青海省| 石屏县| 沁源县| 游戏| 西昌市| 明光市| 巴里| 乌苏市| 阳东县| 兰西县| 昔阳县| 灯塔市| 富顺县| 许昌县| 三穗县| 固安县| 淮滨县| 呼伦贝尔市| 固镇县| 龙胜| 饶河县| 和田县| 宝应县| 连平县| 大荔县| 福州市| 裕民县| 客服| 辛集市| 镇远县| 龙泉市| 中宁县| 涟源市| 泽州县| 织金县|