django 外键model的互相读取方法
作者:JackieLee 发布时间:2021-06-16 20:54:51
标签:django,model,读取
先设定一个关系模型如下:
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)
来源:https://blog.csdn.net/JackieLeeWelas/article/details/50311077


猜你喜欢
- 1.小猫运动游戏源码# @Author : 辣条'''多行注释本程序运行后会有一只小猫向前走安装模块 pip ins
- python爬取淘宝商品销量的程序,运行程序,输入想要爬取的商品关键词,在代码中的‘###'可以进一步约束商品的属性,比如某某作者的
- <html> <head> <title>51windows.Net </title> &l
- 任何编程语言开发的项目代码都是需要考虑内存问题的,有时候当项目体量比较庞大以后若是出现内存泄漏等问题分析起来更是哦力不从心的。因此,平时建议
- 如下所示:import osimport reimport stringfile = open("data2.txt")
- Python3安装后SSL问题问题编译安装时已经指定了–with-openssl的参数并且指向了你的openssl的源码
- 前篇我们稍微学习了Python中时间的获取,这次继续学习日期的时区转换,格式化等等。开发中常用的日期操作还有哪些?时区转换显示日期格式化秒数
- 方法一 <%dim total(7,3) total(1,0)="ASP之家"&n
- Go 互斥锁的实现原理?Go sync包提供了两种锁类型:互斥锁sync.Mutex 和 读写互斥锁sync.RWMutex,都属于悲观锁。
- 这是份总结,有不恰达的地方欢迎一同讨论联系方式 : 龙藏 longzang@taobao.com点击这里全幅围观或者点下面大图去 slide
- 安装:pip install wave在wav 模块中 ,主要介绍一种方法:getparams(),该方法返回的结果如下:_wave_par
- 1.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name2.获取所有表
- 垃圾评论,垃圾留言,人见人憎,用了验证码,效果也好不到哪里去,还影响用户体验。有的网站甚至不惜牺牲用户体验,而构造强悍的惨不忍睹的超级验证码
- 一、python银行管理系统二、分析部分三、代码部分import randomclass bankUser: #
- 一、使用安装pip install mitmproxymitmproxy 是具有控制台界面的交互式,支持SSL的拦截代理mitmdump是m
- win2000注册表程序 regedt32.exe下面是解决IIS出现Active Server Pages错误&
- SELECT语句,去除某个字段的重复信息,例如: 表名:table id uid username message dateline 1 6
- 前言:Python是世界上最流行的解释型编程语言之一。Python 由 Guido van Rossum 设计,作为“ABC”编程语言的继承
- 一、简单说明80、90后的小伙伴都玩过“俄罗斯方块”,那种“叱咤风云”场景 偶尔闪现在脑海 真的是太爽了;如果没有来得及玩过的同学,这次可以
- 选择正确的数据列类型能大大提高数据库的性能和使数据库具有高扩展性。在选择数据列类型时,请从以下几个方面考虑:存放到数据列中的数据类型。数据值