Python A';相关内容';Django中带有DetailView的列表
基于“Article”模型,我试图通过过滤名为“category”的模型字段,在模板中显示“relatedcontent”列表。此“类别”字段与另一个名为“类别”的模型具有多个关系 这看起来是一项非常简单的任务,但我不知道如何实现我的目标。到目前为止,可以显示一个列表,但似乎没有过滤掉任何内容 下面是我的DetailView类,它带有一个“get_context_data()”方法,可以生成一个用于显示列表的模板标记。显然,“F()”类不是解决方案Python A';相关内容';Django中带有DetailView的列表,python,django,django-class-based-views,Python,Django,Django Class Based Views,基于“Article”模型,我试图通过过滤名为“category”的模型字段,在模板中显示“relatedcontent”列表。此“类别”字段与另一个名为“类别”的模型具有多个关系 这看起来是一项非常简单的任务,但我不知道如何实现我的目标。到目前为止,可以显示一个列表,但似乎没有过滤掉任何内容 下面是我的DetailView类,它带有一个“get_context_data()”方法,可以生成一个用于显示列表的模板标记。显然,“F()”类不是解决方案 class ArticleDetail(gen
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__exact=F('category')”等参数进行筛选,但仍然失败
以下是模型(简化后供参考):
不,这根本不是F()的作用
但是你没有解释清楚你想要什么。我想您正在寻找与当前文章相同类别的其他文章。这很简单:
Article.objects.filter(category__in=self.object.categories.all())
非常感谢。这正是我想要的。
Article.objects.filter(category__in=self.object.categories.all())