使用Django过滤三个表

时间:2010-03-11 05:07:15

标签: python django

我有3个django模型,其中第一个具有第二个的外键,第二个具有第三个的外键。像这样:


class Book(models.Model):
    year_published = models.IntField()
    author = models.ForeignKey(Author)

class Author(models.Model):
    author_id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=50)
    agent = models.ForeignKey(LitAgent)

class LitAgent(models.Model):
    agent_id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=50)

我想要问所有作者在2006年出版过书籍的文学代理人。我怎么能在Django中这样做?我查看了有关过滤器和QuerySet的文档,并没有看到明显的方法。感谢。

1 个答案:

答案 0 :(得分:10)

LitAgent.objects.filter(author__book__year_published=2006)