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 相关文章推荐
下载安装setuptool和pip linux安装pip    
Jan 24 Python
python将字符串转换成数组的方法
Apr 29 Python
在Python的Django框架的视图中使用Session的方法
Jul 23 Python
微信跳一跳游戏python脚本
Apr 01 Python
深入浅析python with语句简介
Apr 11 Python
virtualenv 指定 python 解释器的版本方法
Oct 25 Python
python合并已经存在的sheet数据到新sheet的方法
Dec 11 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
Feb 21 Python
对Python中画图时候的线类型详解
Jul 07 Python
python numpy数组复制使用实例解析
Jan 10 Python
解决keras模型保存h5文件提示无此目录问题
Jul 01 Python
利用Python发送邮件或发带附件的邮件
Nov 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 5.0 Pear安装方法
2006/12/06 PHP
详解PHP显示MySQL数据的三种方法
2008/06/05 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
2015/12/22 PHP
Javascript实例教程(19) 使用HoTMetal(4)
2006/12/23 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
Js实现动态添加删除Table行示例
2014/04/14 Javascript
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
BootStrap表单验证实例代码
2017/01/13 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
2017/05/07 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
在vue.js中抽出公共代码的方法示例
2017/06/08 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
jquery在vue脚手架中的使用方式示例
2017/08/29 jQuery
微信小程序显示下拉列表功能【附源码下载】
2017/12/12 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
web.py在模板中输出美元符号的方法
2014/08/26 Python
python脚本设置超时机制系统时间的方法
2016/02/21 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
使用TensorFlow实现SVM
2018/09/06 Python
为数据库创建索引都需要注意些什么
2012/07/17 面试题
面向对象概念面试题(.NET)
2016/11/04 面试题
《散步》教学反思
2014/03/02 职场文书
2014年新生军训方案
2014/05/01 职场文书
工程服务质量承诺书
2015/04/29 职场文书
2016年八一建军节活动总结
2016/04/05 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript
vue使用echarts实现折线图
2022/03/21 Vue.js
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers