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计算N天之后日期的方法
Mar 31 Python
Python的Urllib库的基本使用教程
Apr 30 Python
详解 Python中LEGB和闭包及装饰器
Aug 03 Python
Python3编程实现获取阿里云ECS实例及监控的方法
Aug 18 Python
Python实现高斯函数的三维显示方法
Dec 29 Python
Python3获取拉勾网招聘信息的方法实例
Apr 03 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
May 27 Python
Python Django 页面上展示固定的页码数实现代码
Aug 21 Python
Python数据分析pandas模块用法实例详解
Nov 20 Python
python 利用jieba.analyse进行 关键词提取
Dec 17 Python
Python实战之疫苗研发情况可视化
May 18 Python
python利用while求100内的整数和方式
Nov 07 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远程采集图片详细教程
2014/07/01 PHP
Yii2创建多界面主题(Theme)的方法
2016/10/08 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
JS完成代码前最好对其做5件事
2013/04/07 Javascript
Jquery绑定事件(bind和live的区别介绍)
2013/08/23 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
JavaScript如何获取数组最大值和最小值
2015/11/18 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
2017/02/10 Javascript
Vue实现virtual-dom的原理简析
2017/07/10 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
BootStrap前端框架使用方法详解
2020/02/26 Javascript
[47:03]Ti4第二日主赛事败者组 LGD vs iG 2
2014/07/21 DOTA
python赋值操作方法分享
2013/03/23 Python
在Python中关于中文编码问题的处理建议
2015/04/08 Python
Python多线程编程简单介绍
2015/04/13 Python
python PrettyTable模块的安装与简单应用
2019/01/11 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
深入学习python多线程与GIL
2019/08/26 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
环境科学毕业生自荐信
2013/11/21 职场文书
晚会主持词开场白
2014/03/17 职场文书
医生个人年度总结
2015/02/28 职场文书