Django由一查多
正文共:832字 1 图 预计阅读时间:3分钟
Incredible change happens in your life when you decide to take control of what you do have power over instead of craving control over what you don't.
—— Steve Maraboli
Django
由一查多的各种方式。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』
BookInfo
是一, HeroInfo
是多( HeroInfo
定义了外键,对应 BookInfo
)
一、单个对象查询
一对应的模型类对象.多对应的模型类名小写_set
b = BookInfo.objects.get(id=1)
b.heroinfo_set.all()
二、多个对象同时查询
使用 values_list
方法实现 left join
效果。
一对应的模型类对象.objects.values_list(要查询的字段名, ...)
BookInfo.objects.valueslist('heroinfo__id', 'heroinfo__name')
由一查多时,
values_list
中会有一个字段(该字段是多模型类对象小写名),根据此字段可以查询多对象。如果要查询多对象的某个属性,则用两个下划线链接heroinfo__id
注意: 如果列出多个字段时, flat=True
属性不能使用,将多个字段同时列出即可。最后的查询结果是 Queryset
对象,可以通过工厂方法 list()
进行转换。转换后效果是列表套元祖,形如:更多精彩文章请关注公众号『Pythonnote』
[('34143124', '小闫同学'), ('4321443', '小闫同学'), ...]
如何将列表套元祖转换为列表套字段的形式
a = ('4321', '小闫')
b = ('id', 'name')
dict(zip(b, a))
- 2017.10.2解题报告
- MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具集成Visual Studio 2013
- 左手用R右手Python系列——百度地图API调用与地址解析/逆解析
- OpenCV实战:人脸关键点检测(FaceMark)
- Asp.Net MVC +EntityFramework主从表新增编辑操作的实现(删除操作怎么实现?)
- 模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板
- 洛谷P1311 选择客栈
- 洛谷P1607 [USACO09FEB]庙会班车Fair Shuttle
- R语言抓包实战——知乎live二级页面获取
- 左手用R右手Python系列——面向对象编程基础
- 线性同余同余方程组解法(excrt)
- #19. 计数(容斥原理)
- 左手用R右手Python系列——多进程/线程数据抓取与网页请求
- #15. 钻石
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP抽象类与接口的区别详解
- PDO::exec讲解
- 使用keras框架cnn+ctc_loss识别不定长字符图片操作
- PHP实现的策略模式示例
- 浅谈pytorch中torch.max和F.softmax函数的维度解释
- 用PHP的反射实现委托模式的讲解
- PHP时间函数使用详解
- python批量处理多DNS多域名的nslookup解析实现
- PHP单例模式数据库连接类与页面静态化实现方法
- pytorch 常用函数 max ,eq说明
- 解析python 中/ 和 % 和 //(地板除)
- python右对齐的实例方法
- PHP的PDO预处理语句与存储过程
- PHP工厂模式的日常使用
- 使用ucenter实现多站点同步登录的讲解