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 - 多表关联查询的主要内容,如果未能解决你的问题,请参考以下文章