【问题标题】:How to get a related objects queryset through multiple levels of reverse foreignkeys in django?如何通过django中的多级反向外键获取相关对象查询集?
【发布时间】:2018-02-14 10:43:52
【问题描述】:

我有一个模型:

class Publisher(models.Model):
    ...

class Author(models.Model):
    publisher = models.ForeignKey(Publisher, on_delete=models.CASCADE)

class Article(models.Model):
    author= models.ForeignKey(Author, on_delete=models.CASCADE)

现在我正在尝试从给定的发布者“pub”获取所有文章。 我尝试过以下操作:

pub.article_set()

pub.authot_set().article_set()

以及其他失败的尝试。那么如何在不多次访问数据库的情况下检索给定出版商的所有文章的查询集呢?最有效的方法是什么?

提前致谢!

【问题讨论】:

    标签: python django django-models foreign-keys django-queryset


    【解决方案1】:

    减少数据库查询数量的最有效方法是过滤文章的查询集。

    # pub is the instance of Publisher
    articles = Article.objects.filter(author__publisher=pub)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-08
      • 2016-07-11
      • 1970-01-01
      • 2012-11-18
      • 1970-01-01
      • 2019-09-02
      • 1970-01-01
      相关资源
      最近更新 更多