二重下線付きでもテーブルクエリに基づいてジャンゴ

   前言: 胡斌意淫到了唐朝没实现了一夫一妻制了想法,可是老婆多了,孩子多了就不好查找,这个时候他就跪着找到了华哥哥,请华哥帮忙,华哥打开了电脑在Django中为了实现了多表的跨表查询,为了答谢华哥,他就跪下了,伸出了头,,,,,,,,,,
    本节就是讲到基于双下划线的跨表查询(join),华哥是一个很纯洁的人今天就放过胡斌,就拿图书管理系统说话,后宫管理系统的个表大家需要意淫,就不说了.

クロステーブルダブル下線のクエリに基づいて(参加します)

マンツーマン
'一对一'
正向连表,靠属性*************一定记得靠属性 
查看'胡斌'(老公)的战场在哪里?******也就是这会出现作者表和作者详情表也就是典型的一对一的查询
ret = models.Husband.objects.filiter(name='胡斌').values(ad__addr)#######ad就是author表中建立的作者表和作者详情表的外键(ad = models.ForeignKey('HusbandDetail',on_delete=models.CASCADE))
print(ret) --------结果肯定是相机前
那我们来看看胡斌的老婆是谁
ret=models.Husband.objects.filiter(name='胡斌').values(ad__wife)#######斌哥虽然女人多,我们都知道你的老婆永远只有一个
print(ret)
结果就是
'东盟'

'反向连表'*********一定一定要记住靠的是类名的小写
查看'胡斌'(老公)的战场在哪里?
ret=models.HusbandDetail.objects.filiter(author__name='胡斌').values('addr')
print(ret)
结果:
  相机前
那我们来看看胡斌的老婆是谁?
ret=models.HusbandDetail.objects.filiter(author__name='胡斌').values('wife')
print(ret)
结果
'善东盟'
练习:
查看一下胡斌的爸爸是谁?
ret=models.Husband.objects.filiter(name='胡斌').valuse(ad__father)
print(ret)
结果:
  '熊华'
反向查询胡斌的爸爸是谁?
ret=models.HusbandDetail.objects.filiter(author__name='胡斌').values('father')
结果:
  '熊华'
多くの
'正向查询
查询东蒙生的孩子有哪些
ret=models.Wife.objects.filiter(name='东萌').valuse('childs__name')
来检验下就来个输出DNA检测结果
print(ret)
'结果:
  熊一,熊二,熊三
'反向来检测一下
 ret=models.Children.filiter(wife__name='东盟).valuse('name')
 '结果':
     熊一,熊二,熊三                       
'总结:
    '胡斌的老婆比较专一,专一的爱着隔壁老熊                       
'我们来练习已发(不要只是意淫,来个实战):
查看东萌的孩子家住哪里
'正向查询
ret=models.Wife.objects.filiter(name='东萌').values('childs__addr')
print(ret)
结果是:
 熊华家
'反向查询                           
ret=models.Children.objects.filiter(wife__name='东蒙').values('addr')                           
       
 结果是:
 熊华家
  总结:好兄弟都是自己人                           
多くの多くの
查询一下熊二的朋友有哪些
ret=models.Children.object.filiter(name='熊二').values('friends__name')
print(ret)
结果:
'小东蒙'
反向查询
ret=models.Friend.object.filiter(children__name='熊二').values('name')
print(ret)
结果:
'小东蒙'

おすすめ

転載: www.cnblogs.com/x-h-15029451788/p/11930525.html