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 07 Python
Python中的并发编程实例
Jul 07 Python
python进阶教程之循环相关函数range、enumerate、zip
Aug 30 Python
Python脚本暴力破解栅栏密码
Oct 19 Python
Python数据结构与算法之完全树与最小堆实例
Dec 13 Python
PyQt5每天必学之组合框
Apr 20 Python
浅谈python中对于json写入txt文件的编码问题
Jun 07 Python
Python求两点之间的直线距离(2种实现方法)
Jul 07 Python
Python中list的交、并、差集获取方法示例
Aug 01 Python
python 利用matplotlib在3D空间中绘制平面的案例
Feb 06 Python
Python 中的单分派泛函数你真的了解吗
Jun 22 Python
Python学习开发之图形用户界面详解
Aug 23 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
全国FM电台频率大全 - 1 北京市
2020/03/11 无线电
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
Jquery常用技巧收集整理篇
2010/11/14 Javascript
javascript时区函数介绍
2012/09/14 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
js精确的加减乘除实例
2017/11/14 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
深入浅析javascript函数中with
2018/10/28 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
python连接池实现示例程序
2013/11/26 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
python读取图片并修改格式与大小的方法
2018/07/24 Python
python中的for循环
2018/09/28 Python
jupyter notebook 增加kernel教程
2020/04/10 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
web字体加载方案优化小结
2019/11/29 HTML / CSS
巴西购物网站:Estrela10
2018/12/13 全球购物
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
企业元宵节主持词
2014/03/25 职场文书
《厄运打不垮的信念》教学反思
2014/04/13 职场文书
拓展训练激励口号
2014/06/17 职场文书
电气自动化求职信
2014/06/24 职场文书
卫生院艾滋病宣传活动小结
2014/07/09 职场文书
实习生工作证明范本
2014/09/14 职场文书
酒会开场白大全
2015/06/01 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
JavaScript前端面试组合函数
2022/06/21 Javascript