2

我是 Django 新手,仍在尝试打破旧的 PHP 习惯。下面是两个模型。为了让事情变得混乱,它们存在于不同的文件中,在不同的应用程序中......

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

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


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

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

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

4

1 回答 1

3

我想这就是你要的...

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

附带说明一下,默认情况下不改变你所拥有的任何东西,我认为这对你有用......

article.author_set

但是要保持article.authors上面提到的语法,您可以自己指定related_name.

于 2010-01-20T05:13:46.973 回答