欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于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)文章

  • 用基于python的appium爬取b站直播消費(fèi)記錄

    用基于python的appium爬取b站直播消費(fèi)記錄

    因工作需要,需要爬取相關(guān)數(shù)據(jù),之前是爬取網(wǎng)頁數(shù)據(jù),可以用python的requests和Selenium進(jìn)行爬取。但b站的直播消費(fèi)數(shù)據(jù)網(wǎng)頁版不能顯示,只能在手機(jī)上看到,所以就有了這篇文章。需要的朋友可以參考下
    2021-04-04
  • Python統(tǒng)計(jì)時(shí)間內(nèi)的并發(fā)數(shù)代碼實(shí)例

    Python統(tǒng)計(jì)時(shí)間內(nèi)的并發(fā)數(shù)代碼實(shí)例

    這篇文章主要介紹了Python統(tǒng)計(jì)時(shí)間內(nèi)的并發(fā)數(shù)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • jupyter?notebook內(nèi)核啟動(dòng)失敗問題及解決方法

    jupyter?notebook內(nèi)核啟動(dòng)失敗問題及解決方法

    這篇文章主要介紹了解決jupyter?notebook內(nèi)核啟動(dòng)失敗問題,本文給大家介紹了問題原因分析及解決方案,圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Tornado路由與Application的實(shí)現(xiàn)

    Tornado路由與Application的實(shí)現(xiàn)

    本文主要介紹了Tornado路由與Application的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Python機(jī)器學(xué)習(xí)入門(五)之Python算法審查

    Python機(jī)器學(xué)習(xí)入門(五)之Python算法審查

    這篇文章主要介紹了Python機(jī)器學(xué)習(xí)入門知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Python中下劃線含義詳解

    Python中下劃線含義詳解

    大家好,本篇文章主要講的是Python中下劃線含義詳解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Python中使用裝飾器時(shí)需要注意的一些問題

    Python中使用裝飾器時(shí)需要注意的一些問題

    這篇文章主要介紹了Python中使用裝飾器時(shí)需要注意的一些問題,裝飾器是Python學(xué)習(xí)進(jìn)階中的重要知識(shí)點(diǎn),需要的朋友可以參考下
    2015-05-05
  • python xml模塊的簡(jiǎn)單使用

    python xml模塊的簡(jiǎn)單使用

    這篇文章主要介紹了python xml模塊的簡(jiǎn)單使用,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python和Perl繪制中國(guó)北京跑步地圖的方法

    Python和Perl繪制中國(guó)北京跑步地圖的方法

    當(dāng)你在一個(gè)城市,穿越大街小巷,跑步跑了幾千公里之后,一個(gè)顯而易見的想法是,我到底和之前比快了多少,跑量有何變化,如果能把在這個(gè)城市的所有路線全部畫出來,會(huì)是怎樣的景象呢,接下來通過本文給大家介紹Python和Perl繪制中國(guó)北京跑步地圖的方法,需要的朋友參考下
    2016-03-03
  • 在python中pandas的series合并方法

    在python中pandas的series合并方法

    今天小編就為大家分享一篇在python中pandas的series合并方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11

最新評(píng)論