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

您的位置:首頁技術(shù)文章
文章詳情頁

Python Django ORM連表正反操作技巧

瀏覽:26日期:2022-07-28 14:42:56
一、A表男生,B表女生,C表關(guān)系

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

1通過A表查與某個男生有關(guān)系的所有女生

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

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

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

love_list=models.Love.objects.filter(b__name=’陳亮’) #這個是b__跨表查詢 for i in love_list: print(i.g.nick, love_list) #這個是按照.類里面的名字查詢二、A表男生,B表女生,自動創(chuàng)建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’) # 讓其自動創(chuàng)建一個表

通過boy表查對應(yīng)的girl

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

通過girl反查對應(yīng)的男孩

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

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 關(guān)聯(lián)的是哪個ForeignKey#obj對象男.girl_set.all() 把這個名字換成related_query_name的名字#obj對象女.boy_set.all() #默認(rèn)表明+_set

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

從男女混合表中查到具體人對應(yīng)所有的有關(guān)系的異性

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

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

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

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() #以左邊為條件去查,(一共有左(男生)右(女生)兩個選項(xiàng),從左查為正查,從右查為反查)for i in girl_list: print(i.nickname)#若是這個obj是屬于右邊選項(xiàng)的,想要反查左邊的,得用小寫表名_set來進(jìn)行反查比如:obj. boy_and_girl_set.all() 或者obj.boy.all()

ps:

Django model中的class Meta詳解

以上就是Django-ORM-連表正反操作的詳細(xì)內(nèi)容,更多關(guān)于Django-ORM-連表正反操作的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本在线一区二区三区| 久久精品免视看国产成人| 国产精品免费精品自在线观看| 亚洲精品.com| 国产网站在线| 国产精品专区免费| 欧美成人a交片免费看| 国产精品亚洲片在线播放| 亚洲精品九九| 亚洲免费毛片| 久久国产精品免费精品3p| 国产毛片久久久| 你懂的亚洲视频| 另类小说一区二区三区| 欧美激情一区| 高清av一区| 久久男人天堂| 最新中文字幕在线播放| 精品国产网站| 国产一区二区三区91| 精品精品99| 亚洲天堂1区| 亚洲特级毛片| 黄色成人91| 亚洲精品国产精品粉嫩| 日韩在线成人| 国产精品亚洲片在线播放| 欧美日本一区| 嫩草伊人久久精品少妇av杨幂| 美女视频黄久久| 桃色av一区二区| 国产欧美一区二区三区精品酒店| 亚洲风情在线资源| 日韩伦理在线一区| 婷婷国产精品| 国产精品九九| 国产日韩亚洲欧美精品| 国产精品免费不| 日韩成人精品一区| 好吊日精品视频| 午夜精品影视国产一区在线麻豆| 日韩成人在线看| 精品视频网站| 久久中文字幕二区| 日本亚洲最大的色成网站www | 精品久久不卡| 久久一区二区三区电影| 欧美不卡高清| 日韩欧美高清一区二区三区| 久久精品免费看| 亚洲一区日韩在线| 国产精品欧美大片| 欧美1区2区3区| 91成人福利| 成人在线网站| 一区二区精彩视频| 水蜜桃精品av一区二区| 亚洲一区二区三区久久久| 精品视频高潮| 久久成人精品| 国产粉嫩在线观看| 亚洲精品福利| 久久麻豆视频| 国产亚洲一区在线| 精品国产网站| 亚洲精品日韩久久| 福利一区二区免费视频 | 另类中文字幕国产精品| 中文字幕日韩欧美精品高清在线| 美女精品久久| 另类av一区二区| 亚洲国产成人二区| 日韩一区二区三区精品| 欧美丝袜一区| 国产一区调教| 日韩精品视频网站| 香蕉久久精品| 色乱码一区二区三区网站| 欧美综合社区国产| 石原莉奈在线亚洲三区| 久久久久久久久丰满| 久久天堂影院| 国产欧美日韩在线一区二区| 亚洲涩涩av| 日韩一区二区免费看| av资源中文在线| 欧美黄页在线免费观看 | 亚洲资源网站| 狠狠久久婷婷| 99视频精品视频高清免费| 国产伦精品一区二区三区视频| 日韩精品一区第一页| 国产一区日韩一区| 久久久一本精品| 国产一区二区色噜噜| 欧美亚洲人成在线| 亚洲精品福利| 综合一区二区三区| 亚洲国产日韩欧美在线| 91视频精品| 久久av日韩| 亚洲精品激情| 亚洲成av人片一区二区密柚| 国产精品亚洲综合色区韩国| 亚洲精品大片| 亚洲精品一级二级| 精品美女视频| 日韩av黄色在线| 日韩欧美高清一区二区三区| 九一国产精品| 美女少妇全过程你懂的久久| 精品视频一二| 国产一区二区三区日韩精品| 欧美天堂一区| 国产乱人伦精品一区| 在线精品观看| 亚洲欧美在线专区| 亚洲在线国产日韩欧美| 欧美日韩免费观看一区=区三区| 伊人久久视频| 精品视频高潮| 欧美黑人巨大videos精品| 欧美国产精品| 国产乱子精品一区二区在线观看| 国产午夜一区| 日韩精品一区二区三区中文在线| 综合欧美精品| 蜜臀久久99精品久久久久宅男| 午夜在线精品| 午夜精品一区二区三区国产| 欧美福利在线| 香蕉精品久久| 在线亚洲自拍| 欧美精选一区二区三区| 欧美午夜精彩| 日本不卡免费高清视频在线| 久久九九电影| 影视先锋久久| 视频一区视频二区在线观看| 好看的亚洲午夜视频在线| 亚洲一区欧美激情| 欧美精品一卡| 中文字幕免费精品| 日韩一区精品| 久久精品资源| 精品国产亚洲一区二区在线观看| 国产一区二区三区精品在线观看| 九九久久国产| 99热精品久久| 婷婷亚洲五月| 在线亚洲自拍| 亚洲欧洲免费| 欧美精品97| 成人黄色av| 欧美精品一区二区三区精品| 亚洲成人一区| 日本aⅴ亚洲精品中文乱码| 欧美一级一区| 青青青免费在线视频| 日韩电影在线视频| 久久99伊人| 综合欧美精品| 国产在线日韩精品| 久久久久午夜电影| 色综合视频一区二区三区日韩 | 国产精品毛片一区二区在线看| 麻豆精品99| 亚洲国产影院| 麻豆成人在线| 国产精东传媒成人av电影| 久久天堂影院| 伊人久久亚洲美女图片| 亚欧洲精品视频在线观看| 精品久久影院| 亚洲91久久| 日本vs亚洲vs韩国一区三区二区| 日韩av网站在线观看| 国产美女高潮在线观看| 国产精品99一区二区| 欧美亚洲自偷自偷| 国产精品magnet| 国产综合精品| 亚洲色图国产| 在线看片国产福利你懂的| 99久久亚洲精品| 欧美色综合网| av在线最新| 日韩av网站在线免费观看| 精品国产欧美| 久色成人在线| 麻豆中文一区二区| 欧美三区四区| 久热re这里精品视频在线6| 欧美永久精品| 成人日韩在线观看| 久久亚洲影院| 免费在线观看一区| 亚洲福利国产| 精品亚洲免a| 亚洲精品国产偷自在线观看|