g多站点主站点,显示其他站点的博客项目

问题描述

我创建了Wagtail多站点。在其中,我有一个BlogoverviewPage,其中列出了所有Blog项目。问题在于“主站点”还列出了其他站点博客项目。我一直在尝试在get_context中使用不同的查询,但是没有任何运气。奇怪的是,它是一种方法,主站点列出了其他站点博客项目,但没有列出其他方法

这是我的代码

def get_context(self,request):
    context = super().get_context(request)
    context['blogpages'] = self.get_children().live().order_by('-go_live_at')
    return context

我也尝试过:

def get_context(self,request):
    context = super().get_context(request)
    site = self.get_site()
    context['blogpages'] = BlogPage.objects.all().live().in_site(site).order_by('-go_live_at')
    return context

我们非常感谢您的帮助!

解决方法

最后,看来我很亲近。这可以达到目的:

    def get_context(self,request):
        context = super().get_context(request)
        site = Site.find_for_request(request)
        context['blogpages'] = self.get_children().all().live().in_site(site).order_by('-go_live_at')
        return context