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中处理时间的几种方法小结
Apr 09 Python
Python语言描述机器学习之Logistic回归算法
Dec 21 Python
python实现彩票系统
Jun 28 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
Aug 22 Python
Python二叉树的镜像转换实现方法示例
Mar 06 Python
Python使用python-docx读写word文档
Aug 26 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
Jan 09 Python
Python unittest单元测试框架及断言方法
Apr 15 Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 Python
pandas 操作 Excel操作总结
Mar 31 Python
pycharm 如何查看某一函数源码的快捷键
May 12 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的日期处理函数及uchome的function_coomon中日期处理函数的研究
2011/01/12 PHP
php文件夹的创建与删除方法
2015/01/24 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
日期 时间js控件
2009/05/07 Javascript
jQuery 树形结构的选择器
2010/02/15 Javascript
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
jQuery操作CheckBox的方法介绍(选中,取消,取值)
2014/02/04 Javascript
在javascript中创建对象的各种模式解析
2016/05/16 Javascript
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
使用JavaScript进行表单校验功能
2017/08/01 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
vuex state中的数组变化监听实例
2019/11/06 Javascript
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
python练习程序批量修改文件名
2014/01/16 Python
python为tornado添加recaptcha验证码功能
2014/02/26 Python
Python常用模块用法分析
2014/09/08 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
2018/06/09 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
keras获得某一层或者某层权重的输出实例
2020/01/24 Python
python 生成任意形状的凸包图代码
2020/04/16 Python
python中关于数据类型的学习笔记
2020/07/19 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
python 使用OpenCV进行简单的人像分割与合成
2021/02/02 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
大学学习生活感言
2014/01/18 职场文书
幼儿园老师辞职信
2014/01/20 职场文书
艾滋病宣传标语
2014/06/25 职场文书
jquery插件实现搜索历史
2021/04/24 jQuery
教你用python控制安卓手机
2021/05/13 Python
SpringBoot集成Redis的思路详解
2021/10/16 Redis
vue如何清除浏览器历史栈
2022/05/25 Vue.js