1

我正在尝试通过直接连接的 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 构造上面的查询?

4

1 回答 1

3

这将执行内部连接并返回记者:

Reporter.objects.filter(last_name='Jones', article__isnull=False)

(它也会增加一个无害article.id IS NOT NULLWHERE

于 2013-04-12T23:11:46.363 回答