我是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的方式是什么?
答案 0 :(得分:3)
我认为这就是你所要求的......
class Article(model.Model):
...
author = models.ForeignKey(Author, related_name='articles')
在旁注中,默认情况下不更改任何内容,我认为这对您有用...
article.author_set
但是为了维护上面提到的article.authors
语法,您可以使用related_name
指定自己。