日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

Python Django ORM連表正反操作技巧

瀏覽:29日期:2022-07-28 14:42:56
一、A表男生,B表女生,C表關系

Python Django ORM連表正反操作技巧Python Django ORM連表正反操作技巧Python Django ORM連表正反操作技巧Python Django ORM連表正反操作技巧

1通過A表查與某個男生有關系的所有女生

思想1:在A表中確認男生后,通過反查到C表,獲取相關內容(QuerySet),然后再跨到B表獲取所有女生信息。

obj=models.Boy.objects.filter(name=’陳亮’).first()love_list=obj.love_set.all() #love_set.all()反查相關所有(跨表)for i in love_list: #每個i是一個Love的對象,里面有一個id有一個nick print(i.g.nick) #g是models里面class里面的屬性

思想2:通過C表跨到A表找到對應男生,然后再跨到B表找到女生

love_list=models.Love.objects.filter(b__name=’陳亮’) #這個是b__跨表查詢 for i in love_list: print(i.g.nick, love_list) #這個是按照.類里面的名字查詢二、A表男生,B表女生,自動創建C表ManyToManyField

Python Django ORM連表正反操作技巧Python Django ORM連表正反操作技巧Python Django ORM連表正反操作技巧Python Django ORM連表正反操作技巧

class Boy(models.Model): name = models.CharField(max_length=32) m=models.ManyToManyField(’Girl’) # 讓其自動創建一個表

通過boy表查對應的girl

obj=models.Boy.objects.filter(name=’陳亮’).first()# obj.m.add(2,3) #添加新關系# obj.m.clear() #把跟name=’陳亮‘有關的全部刪除 girl_list=obj.m.all() #直接通過.m就查到女孩相關所有#girl_list = obj.m.filter(二次篩選) for i in girl_list: print(i.id,i.nick)

通過girl反查對應的男孩

oss = models.Girl.objects.filter(nick=’小貓’).first()a=oss.boy_set.all() #跨表查詢for i in a: print(i.name)三、A表男女混合表,B表關系表

Python Django ORM連表正反操作技巧&&&Python Django ORM連表正反操作技巧

Python Django ORM連表正反操作技巧Python Django ORM連表正反操作技巧

思路:男女信息(名字,性別等)都放在一個表,另外一個表(兩個屬性)放一個男生的外鍵(記錄男生id)放一個女生的外鍵(記錄女生的id)

問題:反查的時候需要兩個外鍵不知所措(之前的都是一個外鍵)

解決方法:related_query_name或者related_name(更簡單)

g=models.ForeignKey(’Boy_and_girl’,related_name=’boys’,on_delete=models.CASCADE,null=True)

#以前跨表需要寫上obj.小寫的表名_set.all 比如obj.boy_set.all(),用了**后就不用寫小寫的表名_set了

#related_query_name 關聯的是哪個ForeignKey#obj對象男.girl_set.all() 把這個名字換成related_query_name的名字#obj對象女.boy_set.all() #默認表明+_set

#related_name 更簡單#obj對象男.girl.all() 這種方法改名可以直接寫b.all()獲取有關聯的所有女性表#obj對象女.boy.all()

從男女混合表中查到具體人對應所有的有關系的異性

obj=models.Boy_and_girl.objects.filter(id=3).first() #對象if obj.gender==1: bb=obj.girls.all() #根據對象反向查找到跟對象有關的所有信息(在另外一張表上) for i in bb:print(i.g.nickname) #再帶著相關信息(女孩)回到原來的表再查詢else: bb = obj.boys.all() for i in bb:print(i.b.nickname)四、A表男女混合表(從一張表開始)FK自關聯

Python Django ORM連表正反操作技巧&&&Python Django ORM連表正反操作技巧

思路:男女混合表,在同一張表自動生成另外一張自己與自己相關聯的表(類似于二)

class Boy_and_girl (models.Model): name = models.CharField(max_length=32) m=models.ManyToManyField(’ Boy_and_girl ’,related_name=’boy’)obj=models.Boy. Boy_and_girl.filter(id=1).first() #找的id=1是男生girl_list=obj.m.all() #以左邊為條件去查,(一共有左(男生)右(女生)兩個選項,從左查為正查,從右查為反查)for i in girl_list: print(i.nickname)#若是這個obj是屬于右邊選項的,想要反查左邊的,得用小寫表名_set來進行反查比如:obj. boy_and_girl_set.all() 或者obj.boy.all()

ps:

Django model中的class Meta詳解

以上就是Django-ORM-連表正反操作的詳細內容,更多關于Django-ORM-連表正反操作的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩福利一区| 亚洲精品九九| 久久国产日韩欧美精品| 亚洲字幕久久| 人人精品久久| 国产精品主播在线观看| 国产精品网址| 国产一区二区三区四区五区传媒| 国产精品一页| 欧美激情视频一区二区三区免费| 麻豆国产精品一区二区三区| 久久精品五月| 久久天堂av| 最新亚洲一区| 日韩一区二区三区精品| 国产精品一区二区美女视频免费看| 欧美激情福利| 成人台湾亚洲精品一区二区| 精品三级久久| 午夜一区在线| 日本v片在线高清不卡在线观看| 日韩极品在线观看| 国产精品久久久久久模特 | 欧美亚洲综合视频| 国产精品观看| 肉色欧美久久久久久久免费看 | 视频一区视频二区中文| 国产精品美女久久久| 亚洲伊人精品酒店| 美女国产一区二区三区| 高清不卡亚洲| 久久午夜视频| 国产精品jk白丝蜜臀av小说| 日韩av片子| 亚洲少妇在线| 亚洲精品系列| 久久精品国产99| 久久视频国产| 亚洲精品日本| av资源中文在线| 国产精品试看| 国产调教一区二区三区| 久久精品国产99国产| 欧洲毛片在线视频免费观看| 四虎成人精品一区二区免费网站| 精品一区二区三区亚洲| 欧美精品自拍| 国产欧美亚洲精品a| 视频小说一区二区| 亚洲精品一级| 香蕉成人av| 日韩国产欧美在线视频| 日韩一区欧美| 日韩视频1区| 中国字幕a在线看韩国电影| 爽好多水快深点欧美视频| 麻豆成人在线观看| 婷婷丁香综合| 久久久久伊人| 欧美综合二区| 久久精品系列| 午夜在线视频观看日韩17c| 国产精品黄色| 首页国产欧美日韩丝袜| 国产精品久久久久久久久久10秀| 亚洲综合丁香| av综合电影网站| 911亚洲精品| 黑丝美女一区二区| 鲁大师精品99久久久| 中文字幕av一区二区三区人| 亚洲一级少妇| 欧美有码在线| 国产一区欧美| 精品在线网站观看| 中文字幕视频精品一区二区三区| 97国产精品| 日本不卡不码高清免费观看| 婷婷精品进入| 国产精品高颜值在线观看| 日本a级不卡| 亚洲欧美日韩视频二区| 欧美日韩尤物久久| 国产精品17p| 亚洲一区国产| 日韩在线观看| 欧美成人精品午夜一区二区| 红桃视频欧美| 电影亚洲精品噜噜在线观看| 久久精品国产一区二区| 日韩三区四区| 美女精品网站| 欧美va天堂在线| 日本а中文在线天堂| 国产精品密蕾丝视频下载| 中文字幕av一区二区三区人| 亚洲免费成人| 国内精品福利| 欧美日韩精品免费观看视完整| 久久99高清| 国产精品高清一区二区| 欧美亚洲综合视频| 亚洲青青久久| 久久亚洲二区| 老鸭窝毛片一区二区三区| 91成人网在线观看| 99精品在线免费在线观看| 国产黄大片在线观看| 国产专区精品| 精品久久影院| 美腿丝袜亚洲一区| 国产精品日韩精品中文字幕| 欧美中文高清| 国产精品密蕾丝视频下载| 日本特黄久久久高潮| 婷婷综合一区| 免费久久精品视频| 亚洲一区二区三区高清| 国产视频久久| 亚洲主播在线| 日韩在线视频一区二区三区| 亚洲一区av| 日韩成人午夜精品| 国产精品入口久久| 美腿丝袜亚洲三区| 成人精品高清在线视频| av免费不卡国产观看| 最新中文字幕在线播放| 精品三级久久| 亚洲女同中文字幕| 日韩制服丝袜av| 婷婷精品在线| 欧美亚洲福利| 免费精品一区| 日韩欧美一区二区三区在线观看| 久久精品成人| 亚洲综合三区| 亚洲综合婷婷| 欧美日本一区| 麻豆精品国产91久久久久久| av资源中文在线| 今天的高清视频免费播放成人| 99亚洲精品| 日韩不卡手机在线v区| 久久亚洲人体| 欧美国产91| 男女性色大片免费观看一区二区| 亚洲开心激情| 国产欧美日韩精品一区二区免费| 麻豆中文一区二区| 性感美女一区二区在线观看| 欧美日韩国产在线一区| 亚洲一区二区av| 国产精品v亚洲精品v日韩精品| 国内精品伊人| 夜夜嗨av一区二区三区网站四季av| 视频一区二区中文字幕| 欧美欧美黄在线二区| 精品国产亚洲日本| 午夜欧美在线| 欧美日韩亚洲一区| 中文字幕在线官网| 老司机精品久久| 国产精品一区二区美女视频免费看 | 亚洲精选av| 国产黄色精品| 九九综合九九| 国产剧情在线观看一区| 久久久精品网| 亚洲一二av| 成人午夜在线| 亚洲一区国产一区| 欧美交a欧美精品喷水| 久久视频精品| 国产欧美三级| 在线日韩视频| 国产精品香蕉| 国产亚洲高清视频| 久久久久观看| 亚洲一区二区免费看| 精品国产不卡一区二区| 亚洲欧美日韩国产一区| 精品视频91| 亚洲欧洲美洲国产香蕉| 日韩国产激情| 清纯唯美亚洲综合一区| 99精品美女| 国产精品分类| 美女国产精品| 电影亚洲精品噜噜在线观看| 日本一区二区中文字幕| 天堂网av成人| 国产精品久久久久久久久久妞妞| 欧美 日韩 国产一区二区在线视频| 国产精品v亚洲精品v日韩精品| 亚洲深夜av| 日韩欧美另类一区二区| 欧美伊人久久| 99在线|亚洲一区二区| 高清一区二区三区av|