亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Django 模型類關系及相關操作

發布時間:2020-05-27 03:59:55 來源:網絡 閱讀:564 作者:bigbeatwu 欄目:編程語言

1.模型類關系

(1)一對多關系

如:圖書類-英雄類
models.ForeignKey() #定義在多類

(2)多對多關系

如:新聞類-新聞類型類
models.ManyToManyField() #定義在哪個類都可以

Django 模型類關系及相關操作

(3)一對一關系

如:員工-員工詳細信息
models.OneToOneField() #定義在哪個類都可以

2.關聯查詢 (一對多)

在一對多關系中,一對應的類我們把它叫做一類,多對應的那個類我們把它叫做多類,我們把多類中定義的建立關聯的類屬性叫做關聯屬性

(1)
b=BookInfo.objects.get(id=1)
b.heroinfo_set.all() #查詢id為1的圖書關聯的英雄的信息

通過模型類查詢:

HeroInfo.objects.filter(hbook__id=1)

(2)

h = HeroInfo.objects.get(id=1)
h.hbook #查詢id為1的英雄關聯的圖書信息

通過模型類查詢:

BookInfo.objects.filter(heroinfo__id=1)

(3)格式:

Django 模型類關系及相關操作

(4)通過模型類實現關聯查詢:

BookInfo.objects.filter(heroinfohcommentcontains='八') #查詢圖書要求關聯的英雄描述包含八

BookInfo.objects.filter(heroinfoidgt=3) #查詢圖書要求關聯的英雄id大于3

HeroInfo.objects.filter(hbook__btitle='天龍八部') #查詢天龍八部所有英雄信息

(a)通過多類的條件查詢一類的數據:
一類名.objects.filter(多類名小寫多類屬性名條件名)

(b)通過一類的條件查詢多類的數據:
多類名.objects.filter(關聯屬性一類屬性名條件名)

Django 模型類關系及相關操作

3.插入、更新和刪除

(1)調用一個模型類對象的save方法實現對模型類對應數據表的插入和更新

(2)調用一個模型類對象的delete方法實現對模型類對應數據表的刪除

4.自關聯

Django 模型類關系及相關操作

自關聯是一種特殊的一對多關系

案例:顯示廣州和它的上下級行政區

(1)在models.py建立自關聯模型類
Django 模型類關系及相關操作

(2)遷移
Django 模型類關系及相關操作

(3)查看MySQL且插入數據,id與aparent_id關聯
Django 模型類關系及相關操作

(4)在views.py寫areas()函數
Django 模型類關系及相關操作

(5)在urls.py添加url
Django 模型類關系及相關操作

(6)寫模板
Django 模型類關系及相關操作

5.管理器

BookInfo.objects.all()->objects是Django幫我自動生成的管理器對象,通過這個管理器可以實現對數據的查詢。

objects是models.Manger類的一個對象。自定義管理器之后Django不再幫我們生成默認的objects管理器。

(1)自定義一個管理器類,這個類繼承models.Manger類

super()表示父類,self.model獲取所在的模型類
Django 模型類關系及相關操作
Django 模型類關系及相關操作

models.Manger自帶方法create,要輸入具體屬性
Django 模型類關系及相關操作

(2)再在具體的模型類里定義一個自定義管理器類的對象

在BookInfo模型類里自定義管理器類的對象
Django 模型類關系及相關操作

自定義管理器類的應用場景:

(1)改變查詢的結果集。
比如調用BookInfo.books.all()返回的是沒有刪除的圖書的數據。

(2)添加額外的方法。
管理器類中定義一個方法幫我們操作模型類對應的數據庫。
使用self.model()就可以創建一個跟自定義管理器對應的模型類對象。

小結:

Django 模型類關系及相關操作

6.元選項

Django默認生成的表名:

應用名小寫 _ 模型類名小寫

元選項:

需要在模型類中定義一個元類Meta,在里面定義一個類屬性 db_table就可以指定表名。

在BookInfo模型類定義Meta類指定表名為bookinfo
Django 模型類關系及相關操作

向AI問一下細節

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

AI

内黄县| 揭东县| 南雄市| 红原县| 建宁县| 沾化县| 铁岭县| 崇礼县| 麟游县| 贞丰县| 金湖县| 晋城| 三原县| 正阳县| 五莲县| 五大连池市| 香港| 临湘市| 鄂温| 鹤岗市| 井冈山市| 昌平区| 巨野县| 湘潭县| 陇南市| 木里| 寿阳县| 突泉县| 讷河市| 怀远县| 东莞市| 寻乌县| 高阳县| 尚义县| 武清区| 河间市| 行唐县| 玛纳斯县| 察哈| 南投市| 兴业县|