欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何分析djangomodels中的M對(duì)N關(guān)系

如何分析django models中的M對(duì)N關(guān)系,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),金安網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:金安等地區(qū)。金安做網(wǎng)站價(jià)格咨詢:18982081108

下面介紹django models三種關(guān)系模型中的M對(duì)N關(guān)系:

M對(duì)N模型

在sql語言中,M:N關(guān)系是通過建立一個(gè)中間關(guān)系表來完成,該中間表定義了到兩個(gè)主表的外鍵。所以也可以用兩個(gè)1:N來定義M:N.

    同時(shí)django模型定義了一種更直接的M:N關(guān)系的建模方式,即在兩個(gè)模型中的任意一個(gè)中定義models,ManyToManyField類型的字段

多對(duì)多關(guān)系:

        1、直接定義ManyToManyField字段 

                class  Author(models.Model):

                      name =models.CharField(max_length=100)

                 class  Book(models.Model):

                     title =models.CharField(max_length=100)

                     authors =models.ManyToManyField(Author)

                     book= Book.objects.get(title="Django")

                     authors = Book.author_set.all()  # 獲取該書的作者名單

                     books= author[2].book_set.all() # 獲取第三作者所著的所有圖書

        2、通過中間表定義

               class  Book(models.Model):

                     title =models.CharField(max_length=100)

                     authors =models.ManyToManyField(Author, through="Authoring")

               class   Authoring(models.Model):

                     collaboration_type =models.CharField(max_length=100)

                     book =models.ForeignKey(Book)

                     author =models.ForeignKey(Author)

                 chun_essay_compilations = Book.objects.filter(

                        author__name__endswith='Chun',

                        authoring__collaboration_type='essay'

     )

訪問多對(duì)多值(Many-to-Many Values)

多對(duì)多和外鍵工作方式相同,只不過我們處理的是QuerySet而不是模型實(shí)例。 例如,這里是如何查看書籍的作者:

>>> b = Book.objects.get(id=50)
>>> b.authors.all()
[<Author: Adrian Holovaty>, <Author: Jacob Kaplan-Moss>]
>>> b.authors.filter(first_name='Adrian')
[<Author: Adrian Holovaty>]
>>> b.authors.filter(first_name='Adam')
[]

反向查詢也可以。 要查看一個(gè)作者的所有書籍,使用author.book_set ,就如這樣:

>>> a = Author.objects.get(first_name='Adrian', last_name='Holovaty')
>>> a.book_set.all()
[<Book: The Django Book>, <Book: Adrian's Other Book>]

這里,就像使用 ForeignKey字段一樣,屬性名book_set是在數(shù)據(jù)模型(model)名后追加_set。

關(guān)于如何分析django models中的M對(duì)N關(guān)系問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

分享題目:如何分析djangomodels中的M對(duì)N關(guān)系
標(biāo)題URL:http://aaarwkj.com/article18/jjhsgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站小程序開發(fā)、網(wǎng)站策劃、網(wǎng)站建設(shè)、域名注冊(cè)、企業(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í)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
欧美日本道一区二区三区| 国产精品v一区二区三区| 熟女人妻丰满视频中文字幕| 精品人妻一区三区蜜桃| 欧美精品亚洲二区中文乱码| 久久国产高清亚洲电影| 极品大胸美女被啪啪的高潮| 国产区青青操自拍视频| 91麻豆国产在线视频| 亚洲人妻在线一区二区三区| 久久三级中文欧大战字幕| 日本写真视频一区二区三区| 亚洲日本一区二区一本一道| 日韩黄国产一区二区三| 亚洲一区二区精品免费视频| 亚洲精品香蕉久久情趣| va精品人妻一区二区三区| 丝袜美腿诱惑国产在线| 欧美中文字幕在线精品| 熟妇丰满多毛的大阴户| 国产熟女系列一区二区三区| 国产极品嫩模91精品| 亚洲天堂国产成人精品| 欧美日韩在线一区2区| 97乱碰视频在线观看| 国产在线精彩视频自拍| 国产三级精品三线在线观看| 国产白丝精品爽爽久久| 99热成人精品热久久| 亚洲女同在线免费观看| 国产偷人伦激情在线观看| 国产精品呻吟久久人妻| 精品久久久久久亚洲野狼| 日本精品不卡一二三区| 亚洲中文字幕永久免费| av中文字幕熟妇人妻少妇| 国产av白浆一区二区色爽黄| 亚洲黄色av网站在线| 99热这里在线只有精品| 中文字幕乱码亚洲2019| 日韩欧美一区二区免费|