反向ForeignKey查找

时间:2010-01-20 04:29:28

标签: python django models

我是Django的新手,我仍在尝试打破旧的PHP习惯。以下是两种型号。为了让事情变得混乱,他们生活在不同的应用程序中的单独文件中......

#article.models
from someapp.author.models import Author

class Article(model.Model):
    ...
    author = models.ForeignKey(Author)


# author.models
class Author(model.Model):
    ...

从这个模式我希望能够获得作者的所有文章。类似的东西:
作者=作者(pk = 1)
articles = author.articles

我的第一反应是编写一个方法,根据作者ID在文章模型中进行简单的查找。这里发生的事情是一个永无止境的包含循环,因为单独的文件。文章需要导入的作者用于ForeignKey和Author所需的文章,包括用于模型查找。这感觉很糟糕和错误。我宁愿以正确的方式去做......那么,Django的方式是什么?

1 个答案:

答案 0 :(得分:3)

我认为这就是你所要求的......

class Article(model.Model):
    ...
    author = models.ForeignKey(Author, related_name='articles')

在旁注中,默认情况下不更改任何内容,我认为这对您有用...

article.author_set

但是为了维护上面提到的article.authors语法,您可以使用related_name指定自己。