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 婆婆高寿祝福语大全简短