0

在使用 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

怎么了?

4

1 回答 1

1

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

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

related是一个PostRelatedPageItem对象,并related.page指向它所附加的页面。你应该related.link_page改用。

于 2016-03-10T21:05:19.110 回答