(19)模型层 -ORM之msql 跨表查询(正向和反向查询)
基于对象的跨表查询
基于对象的跨表查询
'''正向和反向查询'''
# 正向 ----> 关联字段在当前表中,从当前表向外查叫正向
# 反向 ---> 关联字段不在当前表中,当当前表向外查叫反向
'''一对一的查询'''
# 查询lqz这个人的地址 正向查询按字段
author = models.Author.objects.filter(name='qlz').first()
print(author.author_detail.addr) #这样就获取到了地址
# 查询lqz这个人的地址 反向查询按表名小写
author = models.AuthorDetail.objects.filter(addr='武汉').first()
print(author_detail.author.name)
'''一对多的查询 正向查询按字段,反向查询按表名小写_set'''
# 出版社和书是一对多的关系,关联字段在书中
# 正向查询 查询红楼梦这本书的出版社地址
book = models.Book.objects.filter(name='红楼梦').first()
print(book.publish.addr)
# 反向查询
publish = models.Publish.objects.filter(name='南京出版社').first()
books = publish.book_set.all() #all就是拿出所有的书
# books 是一个queryset对象
for book in books:
print(book.name) #queryset有多个值要通过for循环取值
'''多对多的查询 书和作者是多对多,关联字段authors在book里'''
#正向查询 按字段.all
# 查询红楼梦这本书的所有作者
book=models.Book.objects.filter(name='红楼梦').first()
authors = book.authors.all()
for author in authors:
print(author.name)
# 反向查询按表名小写_set.all()
# 查询lqz写的所有书
lqz = models.Author.objects.filter(name='lqz').first()
books = lqz.book_set.all()
for book in books:
print(book)
(19)模型层 -ORM之msql 跨表查询(正向和反向查询)的更多相关文章
- (17)模型层 -ORM之msql 单表的增、删、改、查 及其他操作
单表操作-增.删.改.查 ret=models.User.objects.filter(id=1) #这里的结果是一个queryset对象 ret=modles.User.Objects.filte ...
- (18)模型层 -ORM之msql 多表操作(字段的属性)
数据库表的对应关系 1.一对一 #关联字段写在那张表都可以 PS:只要写OneToOneField就会自动加一个id 2.一对多 #关系确立,关联字段写在多的一方 3.多对多 #多对多的关系 ...
- (20)模型层 -ORM之msql 基于双下划线的跨表查询(一对一,一对多,多对多)
基于对象的跨表查询是子查询 基于双下划线的查询是连表查询 PS:基于双下划线的跨表查询 正向按字段,反向按表名小写 一对一 需求:查询lqz这个人的地址# 正向查询ret = models.Autho ...
- (21)模型层 -ORM之msql 聚合查询,F和Q(与、或、非查询)、分组查询
什么是聚合查询,就是使用聚合函数做计算 from django.db.models import Count,Avg,Max,Min #聚合函数要从模块中导入 from django.db.mod ...
- 1127 模型层orm表操作
目录 昨日回顾 模型层 1.配置测试脚本 1.1 应用下tests文件 1.2 新建任意名称文件 2. 数据的增删改查 2.1 创建数据 2.2 修改数据 2.3 删除数据 2.4查询数据 十三门徒 ...
- python 全栈开发,Day70(模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介)
昨日内容回顾 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 Quer ...
- Django基础(2)--模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介
没整理完 昨日回顾: 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 ...
- Django模型层—ORM
目录 一.模型层(models) 1-1. 常用的字段类型 1-2. 字段参数 1-3. 自定义char字段 1-4. 外键关系 二.Django中测试脚本的使用 三.单表操作 3-1. 添加记录 3 ...
- Django之模型层第二篇:多表操作
Django之模型层第二篇:多表操作 一 表关系回顾 在讲解MySQL时,我们提到,把应用程序的所有数据都放在一张表里是极不合理的. 比如我们开发一个员工管理系统,在数据库里只创建一张员工信息 ...
随机推荐
- yii2入门安装 Windows7+wamp+yii2
1.首先先具备环境,下载最新wamp(yii2需要php5.40以上版本的http://www.digpage.com/install.html) wamp下载http://pan.baidu.com ...
- Python自然语言处理---TF-IDF模型
一. 信息检索技术简述 信息检索技术是当前比较热门的一项技术,我们通常意义上的论文检索,搜索引擎都属于信息检索的范畴.信息检索的问题可以抽象为:在文档集合D上,对于关键词w[1]…w[k]组成的查询串 ...
- docker pure-ftpd
FROM alpine:3.7ADD http://dl-4.alpinelinux.org/alpine/edge/testing/x86_64/pure-ftpd-1.0.47-r0.apk /r ...
- 删除Mac OS X中Finder文件打开方式列表的重复程序或失效的
清理列表, 可以在终端中输入下面提供的一行命令: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices ...
- 将自己的域名解析跳转到博客主页(GitHub中的gitpage跳转)
最近突然迷上了博客,突然又突发奇想,将自己几个月前买的现在限制的域名拿来跳转到自己的csdn博客.经过一番研究,总结---- 把自己的购买的域名(比如我买的circleyuan.top)跳转到CSDN ...
- VSTO:使用C#开发Excel、Word【9】
文件背后的代码VSTO支持文档背后的代码,要求开发人员使用VSTO项目中生成的具有预连接上下文和预连接事件的类.这些类有时被称为“代码后面”类,因为它们是与特定文档或工作表相关联的代码.在Word中, ...
- :组合模式:Component
#ifndef __COMPONENT_H__ #define __COMPONENT_H__ #include <iostream> #include <vector> us ...
- ubuntu多显示器单触摸屏校准
多显示器单触摸屏屏幕校准 0.触摸屏重定向 sudo xinput map-to-output 13 DP1 #将触摸屏映射到指定的显示器 其中:13为触摸屏设备id,可通过 xinput命令查看 ...
- 关于vivado implement后clock interaction报告的理解(更新中)
对于较大工程很难避免遇到CDC问题,vivado自带的分析工具可以报告跨时钟状态. 详情参看手册UG906-Design Analysis and Closure Techniques. (1)关于p ...
- python23的区别-日常记录
1. xrange:python3 中取消了range函数,把python2中的xrange重新命名为range,所以在python3中直接用range就行. 2. print:python3中pri ...