我正在尝试通过Django ORM创建一个查询,这是一个直接连接。我试图只从父表中提取子表中有条目的记录,另外,我想在父表上添加一个条件。
以下是样本模型:
class Reporter(models.Model):
first_name = models.CharField(max_length=64)
last_name = models.CharField(max_length=64)
class Article(models.Model):
pub_date = models.DateField()
headline = models.CharField(max_length=200)
content = models.TextField()
reporter = models.ForeignKey(Reporter)
SQL看起来如下:
Select * from Reporter
JOIN Article ON Article.reporter_id = Reporter.id
where Reporter.last_name="Jones"
如何使用Django ORM构建上述查询?
答案 0 :(得分:3)
这将进行内部联接并返回记者:
Reporter.objects.filter(last_name='Jones', article__isnull=False)
(它还会为article.id IS NOT NULL
)
WHERE