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

溫馨提示×

溫馨提示×

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

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

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

深水埗区| 南部县| 芜湖县| 宜黄县| 白朗县| 卢湾区| 盐边县| 延寿县| 宜城市| 铜山县| 江山市| 静海县| 天峻县| 都江堰市| 福清市| 舟山市| 巴中市| 安徽省| 青铜峡市| 焦作市| 梁平县| 大安市| 台南市| 额济纳旗| 宜宾县| 盐山县| 浮山县| 宁阳县| 奉化市| 连城县| 仙桃市| 惠来县| 焦作市| 建湖县| 红桥区| 白城市| 化隆| 秀山| 察雅县| 灵川县| 资讯|