Django进阶Model篇006 - 多表关联查询

接着前面的例子,举例多表查询实例如下:

1.查询作战的所有完整信息。

>>> AuthorDetail.objects.values(‘sex‘,‘email‘,‘address‘,‘birthday‘,‘author__name‘)

2.查询《持续集成实践》这本书的作者姓名,还有出版社的名字

>>> Book.objects.filter(title=‘持续集成实践‘).values(‘authors__name‘,‘publisher__name‘)

3.查询潘晓明写了一些什么书

>>> Book.objects.filter(authors__name=‘潘晓明‘).values(‘title‘)

4.查询机械工业出版社都出版了一些什么书籍

>>> Book.objects.filter(publisher__name=‘机械工业出版社‘).values(‘title‘)
>>> publisher = Publisher.objects.get(name=‘机械工业出版社‘)
>>> publisher.book_set.all().values(‘title‘)

5.查询机械工业出版社都有哪些作者出过书

>>> Book.objects.filter(publisher__name=‘机械工业出版社‘).values(‘title‘,‘authors__name‘)

多表查询技巧:

__:两个下划线可以生成连接查询,查询关联的字段信息

_set:提供了对象访问相关联表数据的方法。但这种方法只能是相关类访问定义了关系的类(主键类访问外键类)。

时间: 2024-08-24 07:25:26

Django进阶Model篇006 - 多表关联查询的相关文章

Django进阶Model篇002 - 模型类的定义

一.创建数据模型. 实例: 作者模型:一个作者有姓名. 作者详情模型:把作者的详情放到详情表,包含性别.email 地址和出生日期,作者详情模型与作者模型之间是一对一的关系(OneToOneField) 出版商模型:出版商有名称,地址,所在城市,省,国家,网址. 书籍模型:书籍有书名,出版日期,价格.一本书可能会有多个作者,一个作者也可以写多本书,所以作者与书籍的关系是多对多的关联关系(many-to-many),一本书只应该由一个出版商出版,所以出版商和书籍是一对多的关联关系(one-to-m

Django进阶Model篇004 - ORM常用操作

一.增加 create和save方法 实例: 1.增加一条作者记录 >>> from hello.models import * >>> Author.objects.create(name='胡大海') >>> AuthorDetail.objects.create(sex=False,email='[email protected]',address='北京XX',birthday='1988-1-2',author_id=1) 2.增加一条出版社

图解SQL多表关联查询

图解SQL多表关联查询 网上看了篇文章关于多表连接的,感觉很好,记录下来,以便日后自己学习  内连接 左连接 右连接 全外连接

Yii2中多表关联查询(join、joinwith) with是不执行sql的

Yii2中多表关联查询(join.joinwith) 我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer (id customer_name) 订单表Order (id order_name customer_id book_id) 图书表 (id book_name author_id) 作者表 (id author_name) 模型定义 下面是这4个个模型的定义,只写出其中的关联 Customer class Customer extends \

Yii2中多表关联查询(join、joinwith)

我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_name       customer_id   book_id) 图书表                    (id  book_name       author_id) 作者表                    (id  author_name) 模型定义 下面是这4个个模型的定义,只写

mybatis多表关联查询

mybatis多表关联查询 一:在一个对象(User )中建立另一个对象属性(userExtend): public class User implements Serializable{ private static final long serialVersionUID = 1L; /** ID */ private String id; /** 用户名 */ private String username; /** 登录密码 */ private String password; /**

Hibernate-多表关联查询结果的处理方法

Hibernate多表查询结果处理 (2014-07-06 20:45:40) 转载▼ 标签: hibernate 多表查询 结果集处理 分类: Java 如果我们在Hibernate中需要查询多个表的不同字段,那么如何来获取Hibernate多表查询的结果呢?有两种方式: 1. 对各个字段分别转化成对应类型,如下: Java代码: Query q = session.createQuery(" select members, classInfo.className " + "

RDIFramework.NET 中多表关联查询分页实例

RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为指导思想,作为异质系统整合与互操作性.分布式应用提供了可行的解决方案. 分页非常的常见,基本任何项目都会涉及到分页,这没什么好谈的,大多数我们分页对单表的分页比较多,对多表的分页我们可以通过视图来实现,当然还有其他的方式,在这儿,我以一个实例展示下使用我们的RDIFramework.NET来实现多表

MySQL多表关联查询与存储过程

1.多表关联查询 --  **************关联查询(多表查询)**************** -- 需求:查询员工及其所在部门(显示员工姓名,部门名称) -- 1.1 交叉连接查询(不推荐.产生笛卡尔乘积现象:4 * 4=16,有些是重复记录) SELECT empName,deptName FROM employee,dept; -- 需求:查询员工及其所在部门(显示员工姓名,部门名称) -- 多表查询规则:1)确定查询哪些表   2)确定查询哪些字段   3)表与表之间连接条件