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

Posted 鲨鱼逛大街

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:提供了对象访问相关联表数据的方法。但这种方法只能是相关类访问定义了关系的类(主键类访问外键类)。

 

以上是关于Django进阶Model篇006 - 多表关联查询的主要内容,如果未能解决你的问题,请参考以下文章

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

django-模型层(model)-多表相关操作(图书管理练习)

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

进阶之路(基础篇) - 006 串口的使用

Django进阶篇

Django进阶篇