Wagtail CMS中错误的相关页面

时间:2016-03-10 19:52:07

标签: python django django-models content-management-system wagtail

我在使用Wagtail CMS 1.3.1构建博客时发生了奇怪的行为。

有一个案例:

我有一个页面A应该与页面B和C

有关系
  B
 /
A
 \
  C

这就是我的网页模型的样子

# Post related page item    
class PostRelatedPage(models.Model):
    link_page = models.ForeignKey(
        'wagtailcore.Page',
        null=True,
        blank=True,
        related_name='+'
    )

    panels = [
        PageChooserPanel('link_page')
    ]

    class Meta:
        abstract = True


class PostRelatedPageItem(Orderable, PostRelatedPage):
    page = ParentalKey('core.PostPage', related_name='related_posts')


# Post page model
class PostPage(Page):
    ...

PostPage.content_panels = [
    ...
    InlinePanel('related_posts', label="Related posts"),
]

好的,看起来很正确。 但当我链接到我的页面A相关页面B和C时,我的页面与自身相关

  A
 /
A
 \
  A

怎么了?

1 个答案:

答案 0 :(得分:1)

问题在于您用于输出链接的代码:

{% for related in self.related_posts.all %}{{ related.page }}{% endfor %}

此处relatedPostRelatedPageItem个对象,related.page指向它所附加的页面。您应该使用related.link_page代替。