django 外键model的互相读取方法


Posted in Python onDecember 15, 2018

先设定一个关系模型如下:

from django.db import models
class Blog(models.Model):
 name = models.CharField(max_length=100)
 tagline = models.TextField()
 def __str__(self):   
  return self.name
 
class Author(models.Model):
 name = models.CharField(max_length=50)
 email = models.EmailField()
 def __str__(self):   
  return self.name
 
class Entry(models.Model):
 blog = models.ForeignKey(Blog)
 headline = models.CharField(max_length=255)
 body_text = models.TextField()
 authors = models.ManyToManyField(Author)
 def __str__(self):   
  return self.headline

上面的数据关系很明晰,Entry中有Blog和Author的外键,如果要在Entry中读取blog和author的数据很容易:

entry = Entry.objects.all()
for e in entry:
 blog = e.blog
 author = e.authors

要在Blog和Author中读取Entry也可以:

blog = Blog.objects.all()
entry = blog.entry_set.all()
 
author = Author.objects.all()
entry = author.entry_set.all()

下面通过entry使blog和author互相读取,比如要知道一个blog的Author只需如下:

blogs = Blog.objects.all()
for blog in blogs:
 if blog.name== “我们想要查询的博客的name”
  author = blog. entry_set.authors

要查询一个author的所有blog如下:

authors = Author.objects.all()
blogs = []
 
for author in authors:
 if author.name== “我们想要查询的Author的name”
  for entry in author.entry_set.all():
   blogs.append(entry. blog)

以上这篇django 外键model的互相读取方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python随机生成信用卡卡号的实现方法
May 14 Python
基于wxpython实现的windows GUI程序实例
May 30 Python
详解Python编程中基本的数学计算使用
Feb 04 Python
Django中cookie的基本使用方法示例
Feb 03 Python
使用matplotlib画散点图的方法
May 25 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
Jul 09 Python
python实现数据分析与建模
Jul 11 Python
Django Python 获取请求头信息Content-Range的方法
Aug 06 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 Python
Python 如何对文件目录操作
Jul 10 Python
python语言实现贪吃蛇游戏
Nov 13 Python
python 实现逻辑回归
Dec 30 Python
Django之Mode的外键自关联和引用未定义的Model方法
Dec 15 #Python
python调用java的jar包方法
Dec 15 #Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
Dec 15 #Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
Dec 15 #Python
浅谈python 导入模块和解决文件句柄找不到问题
Dec 15 #Python
对python当中不在本路径的py文件的引用详解
Dec 15 #Python
对python3 中方法各种参数和返回值详解
Dec 15 #Python
You might like
用header 发送cookie的php代码
2007/03/16 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &
2010/02/09 PHP
PHP中文件上传的一个问题
2010/09/04 PHP
PHP Global定义全局变量使用说明
2013/08/15 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
在jquery中处理带有命名空间的XML数据
2011/06/13 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
2013/07/04 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
详解使用JWT实现单点登录(完全跨域方案)
2019/08/02 Javascript
Python入门篇之正则表达式
2014/10/20 Python
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
django 简单实现登录验证给你
2019/11/06 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
宣传策划类求职信范文
2014/01/31 职场文书
学习经验演讲稿
2014/05/10 职场文书
投标诚信承诺书
2014/05/26 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
假期安全教育广播稿
2014/10/04 职场文书
驳回起诉裁定书
2015/05/19 职场文书
婚宴父亲致辞
2015/07/27 职场文书
HTML通过表单实现酒店筛选功能
2021/05/18 HTML / CSS
MySQL快速插入一亿测试数据
2021/06/23 MySQL
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS