Django获得Foreignkey反向模型查询集

时间:2015-10-01 11:33:17

标签: django

可以通过较高级别搜索查询集,但我想反转它。 例如:

而不是为报告者搜索文章模型。我希望Reporter Model向我展示与之相关的文章模型。我查看了文档,但没有找到任何有用的东西。

型号:

from django.db import models

class Reporter(models.Model):
    # ...
    pass

class Article(models.Model):
    reporter = models.ForeignKey(Reporter)

查看:

article = Article.objects.filter(reporter__name='somename')

我想要的,不改变模型:

reporter = Reporter.objects.filter(name='somename', Article)
#show all Articles from somename

2 个答案:

答案 0 :(得分:2)

您使用相关的名称功能。

articles = Reporter.objects.get(name='somename').article_set.all()

如果您已经有记者,这就更容易了:

articles = my_reporter.article_set.all()

答案 1 :(得分:0)

你必须写这样的代码;

 reporter_ids = Reporter.objects.filter(name='somename').values_list('id', flat=True)
 article = Article.objects.filter(reporter_id__in=reporter_ids)