在Djang中有DetailView的“相关内容”列表

2024-09-30 01:37:07 发布

您现在位置:Python中文网/ 问答频道 /正文

基于“Article”模型,我试图通过过滤名为“category”的模型字段在模板中显示“related content”列表。这个“category”字段与另一个名为“category”的模型有很多关系。在

这看起来是一个很简单的任务,但我想不出如何达到我的目的。现在,可以显示一个列表,但似乎没有过滤掉任何内容。在

下面是我的DetailView类,它有一个“get_context_data()”方法,可以生成用于显示列表的模板标记。显然,“F()”类不是解决方案。在

class ArticleDetail(generic.DetailView):
    model = Article
    template_name = 'article/detail.html'

    def get_context_data(self, **kwargs):
        context = super(ArticleDetail, self).get_context_data(**kwargs)
        context_related = Article.objects.filter(F('category')).distinct()
        context['related'] = context_related

        return context

此外,我还尝试用“category”和“category_uuexact=F('category')”之类的参数进行筛选,但还是失败了。在

以下是模型(简化为问题):

^{pr2}$

Tags: 模型self模板列表dataget关系context
1条回答
网友
1楼 · 发布于 2024-09-30 01:37:07

不,这根本不是F()的作用。在

但你不能解释清楚你到底想要什么。我想你在寻找与当前文章相同类别的其他文章。这很简单:

Article.objects.filter(category__in=self.object.categories.all())

相关问题 更多 >

    热门问题