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 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短