我正在建立一个新闻网站。当我试图获取具有相同标签的相关新闻列表时。错误说:
精确查找的 QuerySet 值必须使用切片限制为一个结果。
我有两个型号 News
和 Tag
。标记是 News
的多对多外键。
新闻模型:
class News(models.Model):
tag = models.ManyToManyField(Tag, blank=True, verbose_name='tag')
标签型号:
class Tag(models.Model):
name = models.CharField(max_length=40)
看法:
def newsDetailView(request, news_pk):
news = get_object_or_404(News, id=news_pk)
tags = news.tag.annotate(news_count=Count('news'))
relative_news = News.objects.filter(tag=tags)
return render(request, "news_detail.html", {
'news': news,
'tags': tags,
'relative_news': relative_news
})
原文由 William 发布,翻译遵循 CC BY-SA 4.0 许可协议
以下将起作用: