django-关联查询-通过模型类跨表关联查询

名词的约定

一对多关系中,一方对应的类叫做一类,多方对应的类叫做多类

多类中定义的属性,叫做关联属性

本节例子

图书类 BookInfo

英雄类 HeroInfo

利用模型类联表查询

需要一方的结果,但是要根据多方的条件来查


需要多方的结果,但是需要通过一方的条件来查


查询演练

》理解双下划线的关系

  • 类名__字段

英雄类名__字段名

相当于在说:

英雄表的字段

例如:

heroinfo__hcomment

指英雄表中hcomment字段

  • 字段__条件 = 值

相当于在说

字段怎么样怎么样 这个值

例如:

hcomment__contains=“八”

指 hcomment字段包含八

在这里插入图片描述
当前的查询语句是在说

要查找一些图书

条件是这些书所对应的

英雄表中hcomment字段里包含八

图书类.objects.filter(英雄类__英雄类属性__查询条件=值)

图书是一方,图书类中没有关联字段。所以过滤的条件中需要手动的把它关联的多方类名写上去

》查找一方行对象,通过多方的条件来查

在这里插入图片描述
查找一个图书

要求是

它关联的英雄中,id值大于3的

图书是一方,图书类中没有关联字段。所以过滤的条件中需要手动的把它关联的多方类名写上去

》查找多方行对象,通过一方的条件来查

下面两种情况,效果是一样的

在这里插入图片描述
模型类查询的分析

查的是英雄,英雄是多方

多方有关联字段

可以通过关联字段直接找到对应的对象

因此

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸鱼编程pyhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值