Django使用详解:ORM 的反向查找(related_name)


Posted in Python onMay 30, 2018

先定义两个模型,一个是A,一个是B,是一对多的类型。

class A(models.Model):
  name= models.CharField('名称', max_length=32)

class B(models.Model):
  a= models.ForeignKey(A, verbose_name='A类',related_name = "test")
  name = models.CharField('称呼', max_length=16)

如果我们要查询一个A拥有哪些B的话,那我们要怎么做呢

通过主表来查询子表

A.objects.get(id=A_id).test.all().order_by('-created'),

django 默认每个主表的对象都有一个是外键的属性,可以通过它来查询到所有属于主表的子表的信息。这个属性的名称默认是以子表的名称小写加上_set()来表示(上面默认以b_set访问),默认返回的是一个querydict对象。

related_name 可以给这个外键定义好一个别的名称

通过子表来查询主表

B.objects.filter(a=A_id).order_by('-created')

以上这篇Django使用详解:ORM 的反向查找(related_name)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python性能优化的20条建议
Oct 25 Python
python计算N天之后日期的方法
Mar 31 Python
Python算法应用实战之栈详解
Feb 04 Python
Python中str.join()简单用法示例
Mar 20 Python
python多维数组切片方法
Apr 13 Python
python实现随机梯度下降法
Mar 24 Python
Python实现压缩文件夹与解压缩zip文件的方法
Sep 01 Python
Python3 导入上级目录中的模块实例
Feb 16 Python
Flask之pipenv虚拟环境的实现
Nov 26 Python
python argparse传入布尔参数false不生效的解决
Apr 20 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
Aug 04 Python
Pytorch反向传播中的细节-计算梯度时的默认累加操作
Jun 05 Python
Python实现决策树C4.5算法的示例
May 30 #Python
python实现决策树ID3算法的示例代码
May 30 #Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
May 30 #Python
Python实现的读取电脑硬件信息功能示例
May 30 #Python
Python应用库大全总结
May 30 #Python
Django中反向生成models.py的实例讲解
May 30 #Python
Python RabbitMQ消息队列实现rpc
May 30 #Python
You might like
php以post形式发送xml的方法
2014/11/04 PHP
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
在Python中使用glob模块查找文件路径的方法
2015/06/17 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
JavaScript中this的用法及this在不同应用场景的作用解析
2017/04/13 Javascript
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
vue穿梭框实现上下移动
2021/01/29 Vue.js
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
python实现TF-IDF算法解析
2018/01/02 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
2018/02/07 Python
对pandas的算术运算和数据对齐实例详解
2018/12/22 Python
python读写csv文件实例代码
2019/07/05 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
2019/09/05 Python
python numpy之np.random的随机数函数使用介绍
2019/10/06 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
python如何求100以内的素数
2020/05/27 Python
Python新手学习raise用法
2020/06/03 Python
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
理货员的岗位职责
2013/11/23 职场文书
实践单位评语
2014/04/26 职场文书
大学班级学风建设方案
2014/05/01 职场文书
学校食品安全实施方案
2014/06/14 职场文书
个人总结与自我评价
2015/02/14 职场文书
罗马假日观后感
2015/06/08 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang
Python pandas求方差和标准差的方法实例
2021/08/04 Python