最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于django ManyToMany 使用的注意事項(xiàng)詳解

 更新時(shí)間:2019年08月09日 09:08:30   作者:qq_34159185  
今天小編就為大家分享一篇基于django ManyToMany 使用的注意事項(xiàng)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

使用場(chǎng)景一:

如果在一張表中ManayTOManay字段關(guān)聯(lián)的是自身,也就是出項(xiàng)這樣的代碼:

ManyToManyField(self)

那么,你需要注意一點(diǎn),當(dāng)你采用add方法將一個(gè)自身對(duì)象添加到該字段時(shí),則自動(dòng)建立兩方的相互關(guān)聯(lián)。

例如:

有一個(gè)朋友關(guān)系的字段,多對(duì)多關(guān)聯(lián)到自身,

friends = models.ManyToManyField('self')

當(dāng)你采用friends .add()添加對(duì)象時(shí),則自動(dòng)建立雙方的關(guān)聯(lián)。

為了禁止這件事情發(fā)生,需要添加一個(gè)symmetrical參數(shù)并設(shè)置為False,參考如下:

models.ManyToManyField('self', blank=True, symmetrical=False)

使用場(chǎng)景二:

如果在一張表中有多個(gè)ManayTOManay字段關(guān)聯(lián)到相同的另一張表中,則另一張表在反向查詢時(shí)則無法準(zhǔn)確查找,為了解決這個(gè)問題,你需要在多對(duì)多字段添加一個(gè)參數(shù)related_name 并命名一個(gè)和其它多對(duì)多字段不同的名字,例如:

models.ManyToManyField('self', related_name='user_attentions')

參考如下:

有一張表名字叫A

有一張表名字叫B

A 有多個(gè)多對(duì)多字段關(guān)聯(lián)到B,其中有一個(gè)字段related_name值為user_attentions,

當(dāng)B進(jìn)行反向查詢時(shí),則采用B.user_attentions查詢即可

以上這篇基于django ManyToMany 使用的注意事項(xiàng)詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

读书| 西城区| 大连市| 海兴县| 临夏市| 淮安市| 上杭县| 防城港市| 鄯善县| 彭山县| 开江县| 双鸭山市| 曲靖市| 永兴县| 铅山县| 长宁县| 蓝山县| 中阳县| 准格尔旗| 大埔县| 怀宁县| 千阳县| 繁昌县| 土默特右旗| 四子王旗| 红河县| 柞水县| 贡山| 杨浦区| 任丘市| 巢湖市| 南澳县| 莎车县| 洪雅县| 乾安县| 广丰县| 讷河市| 万载县| 桂东县| 石狮市| 伊春市|