我有两个相关的模型:
class Author(models.Model):
----
class Article(models.Model):
author = models.ForeignKey(Author)
....
我有一个类作者的实例。我如何获得作者的所有文章?如:
articles = author.article_set.getAllArticlesFromAuthor()
我知道它可以从查询中获取,但我想知道Django是否存在一个简短的方法
答案 0 :(得分:1)
只需这样做,您也可以在Author
模型中处理它:
class Author(models.Model):
def get_articles(self):
return Article.objects.filter(author__pk=self.pk)
class Article(models.Model):
author = models.ForeignKey(Author)
....
返回特定作者的文章QuerySet。
Author.objects.get(pk=1).get_articles()
答案 1 :(得分:1)
您可以创建属性
class Author(models.Model):
# model fields
@property
def articles(self):
return self.article_set.all()
所以你可以像
一样使用它author = Author.objects.get(name="Author's Name") # get Author
articles = author.articles # get articles by author