【发布时间】:2022-01-23 23:32:47
【问题描述】:
假设这是我的models.py 文件:
class Paper(models.Model):
title = models.CharField(max_length=20, null=False, blank=False)
class Author(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
papers = models.ManyToManyField(Paper, null=False, blank=False)
一个作者可以有多篇论文,一篇论文可以有多个作者。我需要获取给定作者的所有论文标题。
在我的views.py 中,一旦我有了作者对象,我需要得到一个包含他所有论文标题的列表。我正在这样做:
user = User.objects.get(username=request.user)
author = Author.objects.get(user=user)
papers = [paper.title for paper in author.papers.all()]
在 Django 中有没有一种方法可以在不必遍历作者论文的情况下进行此查询?也许有一个内置函数或我缺少的东西,有什么建议吗?
【问题讨论】:
标签: python django django-models django-views