django 外键model的互相读取方法
先设定一个关系模型如下:
fromdjango.dbimportmodels classBlog(models.Model): name=models.CharField(max_length=100) tagline=models.TextField() def__str__(self): returnself.name classAuthor(models.Model): name=models.CharField(max_length=50) email=models.EmailField() def__str__(self): returnself.name classEntry(models.Model): blog=models.ForeignKey(Blog) headline=models.CharField(max_length=255) body_text=models.TextField() authors=models.ManyToManyField(Author) def__str__(self): returnself.headline
上面的数据关系很明晰,Entry中有Blog和Author的外键,如果要在Entry中读取blog和author的数据很容易:
entry=Entry.objects.all() foreinentry: 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() forbloginblogs: ifblog.name==“我们想要查询的博客的name” author=blog.entry_set.authors
要查询一个author的所有blog如下:
authors=Author.objects.all() blogs=[] forauthorinauthors: ifauthor.name==“我们想要查询的Author的name” forentryinauthor.entry_set.all(): blogs.append(entry.blog)
以上这篇django外键model的互相读取方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短