我在使用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
怎么了?
答案 0 :(得分:1)
问题在于您用于输出链接的代码:
{% for related in self.related_posts.all %}{{ related.page }}{% endfor %}
此处related
是PostRelatedPageItem
个对象,related.page
指向它所附加的页面。您应该使用related.link_page
代替。