Django filter ForeignKey

Django文档中的一个例子:

class Blog(models.Model):
    name = models.CharField(max_length=100, verbose_name="博客名称")

class Entry(models.Model):  # 我也不知道这是个什么表
    blog = models.ForeignKey(Blog)
    headline = models.CharField...
    pub_date = models.DateTimeField...

这个时候有两种filter

1. 
Blog.objects.filter(entry__headline__contains="Henry", entry__pub_date__date='2008')

以及

2. 
Blog.objects.filter(entry__headline__contains="Henry").filter(entry__pub_date__date='2008')

这两种一样吗?
显然不一样
第一种搜索的是包含headline有Henry并且pub_date年份为2008的Entry的Blog
第二种搜索的是包含headline有Henry的Entry,还包含pub_date年份为2008的Entry的Blog(两个Entry可为同一个)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容