按页面标记字段

时间:2018-02-23 11:45:27

标签: django django-queryset wagtail

我正在使用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..")

0 个答案:

没有答案