我正在使用Wagtail创建一个网站。我有一个名为NewsItem的页面模型。在页面上,我想列出具有相同标签的最新新闻项目,以及页面本身的主要内容。
我不知道如何获取标记字段的值以过滤查询集并返回其他新闻帖子。
我尝试过各种各样的事情:
def render(self, value):
news = NewsItem.objects.live().filter(tags__name=value['tags']).order_by('-date')
return render_to_string(self.meta.template, {
'self': value,
'news_items': news,
})
我的标记字段如下所示:
tags = ClusterTaggableManager(
through=Tags, blank=True, related_name='news_tag',
verbose_name="News tags",
help_text="News, Video..")
我不知道是否需要返回render_to_string位,我刚刚在网上找到了类似的例子。
任何帮助表示感谢。
NewsItem和Tags模型看起来像:
class Tags(TaggedItemBase):
content_object = ParentalKey(
'news.NewsItem', related_name='news_tag')
class Meta:
verbose_name = "News tag"
verbose_name_plural = "News tags"
class NewsItem(Page):
thumbnail = models.ForeignKey(
'wagtailimages.Image',
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name='+'
)
tags = ClusterTaggableManager(
through=Tags, blank=True, related_name='news_tag',
verbose_name="News tags",
help_text="News, Video..")