在Django模板中获取嵌套/相关对象

时间:2016-02-17 10:46:01

标签: python django

我有2个表(类别,文章),在我看来我设置:

categories = Category.objects.filter(site=4)

我可以在

的模板中使用它
{% for cat in categories %}

但输出是:

- >第1类

- >第2类

- >第3类

如何获得每个类别的文章,例如此输出?

- >第1类

--->第1条

--->第2条

- >第2类

--->第1条

--->第2条

1 个答案:

答案 0 :(得分:5)

取决于模型ArticleCategory的关联方式,因为如果您的模型中有Article包含例如ForeignKey Categorycategory,然后在category.article_set个实例中,您使用class Category(models.Model): ... class Article(models.Model): category = ForeignKey(Category) # this adds a back ref that # is by default called `article_set` # into Category

获得了related object reference的版画
{% for category in categories %}
    {{ category }}
    {% for article in category.article_set.all %}
        {{ article }}
    {% endfor %}
{% endfor %}

你可以这样做:

{{1}}