久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Django 解決model 反向引用中的related_name問題

瀏覽:92日期:2024-10-03 16:20:50

問題:

定義表Apple:

class Apple( models.Model): origin_level = models.ForeignKey(AppleLevel) new_level = models.ForeignKey(AppleLevel)

出現如下問題:

monitor.apple: Accessor for field ‘origin_level’ clashes with related field ‘AppleLevel.apple_set’. Add a related_name argument to the definition for ‘origin_level’.

monitor.apple: Accessor for field ‘new_level’ clashes with related field ‘AppleLevel.apple_set’. Add a related_name argument to the definition for ‘new_level’.

原因:

一個數據表同時兩次外鍵引用另一個表,出現重名問題。

解決辦法:

使用related_name屬性定義名稱(related_name是關聯對象反向引用描述符)。

具體修改代碼如下:

class Apple( models.Model): origin_level = models.ForeignKey(AppleLevel, related_name=’orgin_level_appleset’) new_level = models.ForeignKey(AppleLevel, related_name=’new_level_appleset’)

related_name使用之后,有什么用處呢?

用處就是:

通過AppleLevel可以得到引用自身的Apple對象。

例如,

通過origin_level引用AppleLevel 中id為12的Apple的所有對象

AppleLevel.object.get(id=12).origin_level_appleset.objects.all()

通過new_level引用AppleLevel 中id為12的Apple的所有對象

AppleLevel.object.get(id=12).new_level_appleset.objects.all()

以上這篇Django 解決model 反向引用中的related_name問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 国产精品亚洲成在人线 | 黄色a级网站 | 久久免费视频在线 | 99久久久成人国产精品 | 国产精品日韩 | 午夜精品网站 | 成人免费小视频 | 日韩精品小视频 | 韩国av片在线观看 | 日本阿v视频高清在线中文 中文二区 | 91精品国产91久久综合桃花 | 精品一区二区三 | 国产美女高潮 | 中文字幕一页二页 | 国产人妖一区二区 | 中文字幕一页二页 | 欧美日韩精品在线 | www色婷婷 | 国产精品丝袜一区二区 | 亚洲日韩欧美一区二区在线 | 成人在线小视频 | 国产精品欧美一区二区三区 | 久精品视频 | 成人欧美一区二区三区 | 成人免费影院 | 黄色影片免费在线观看 | 久久久中文 | 91久久 | 国产91在线免费观看 | 99久久免费视频在线观看 | 国产女人和拘做受在线视频 | 一区二区三区在线播放 | 999在线观看精品免费不卡网站 | 成人免费aaa| 欧美激情精品久久久久 | 精品亚洲永久免费精品 | 超碰高清| 国产黄色免费小视频 | 综合久久综合 | 国产成人精品免费 | 国产性色av |