使用Django过滤三个表

Van*_*gal 3 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)

Run Code Online (Sandbox Code Playgroud)

例如,我想问一下其作者在2006年出版的所有文学经纪人.我怎么能在Django中这样做?我查看了有关过滤器和QuerySet的文档,并没有看到明显的方法.谢谢.

Ign*_*ams 11

LitAgent.objects.filter(author__book__year_published=2006)
Run Code Online (Sandbox Code Playgroud)