0

我有这些模型(名称已更改):

class Blog(models.Model):
    created_dtm = models.DateTimeField()
    updated_dtm = models.DateTimeField()
    title = models.CharField(max_length=200, null=True, blank=True)
    creator = models.ForeignKey(Authors, on_delete=models.CASCADE, null=True, blank=True)

class BlogAuthor(models.Model):
    blog = models.ForeignKey(Blog, on_delete=models.CASCADE)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)
    class Meta:
        unique_together = ('blog', 'author')

我需要获取作者参与的所有博客(及其详细信息)。问题是每个博客可以有多个作者。

现在我可以使用以下方法获取博客 ID 的查询集:

BlogAuthor.objects.filter(author=request.user).values_list('blog_id', flat=True)

然后尝试使用 cycle 一个一个地获取每个博客for,但是是否可以通过一个查询获取博客列表?

4

1 回答 1

1

只需使用反向关系

Blog.objects.filter(blogauthor__author=request.user)
于 2018-07-04T16:59:07.963 回答