我有在鹡鸰一个ContentPage
模型和其他ContentPage
模型链接到一个ContentPage
模型RelatedPost
有点像这样:测试中鹡鸰相关页面
class ContentPage(Page):
summary = RichTextField(blank=True)
body = RichTextField(blank=True)
published = models.DateTimeField(default=timezone.now())
content_panels = Page.content_panels + [
FieldPanel('summary'),
FieldPanel('body', classname="full"),
InlinePanel('related_page', label="Related Content"),
]
settings_panels = Page.settings_panels + [
FieldPanel('published'),
]
class RelatedPost(Orderable):
post = ParentalKey(
'ContentPage',
related_name='related_page'
)
page = models.ForeignKey(
'ContentPage',
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name="+"
)
panels = [
FieldPanel('page')
]
当我运行这个测试:
class ContentPageTests(WagtailPageTests):
def test_can_create_article_page(self):
self.assertCanCreateAt(ContentIndexPage, ContentPage)
# content_index is just a parent page
content_index = self.create_content_index_page()
self.assertCanCreate(content_index, ContentPage, {
'title': 'Test Article',
'published': datetime.datetime.now()
})
我得到一个错误说:
django.core.exceptions.ValidationError: ['ManagementForm data is missing or has been tampered with']
管理工作正常。我可以保存相关页面等,当我注释掉InlinePanel线时,它工作正常。
的问题不在于观点或模型,但在窗体或formset的设置,所以你需要发布形式.py文件和您的视图,从中获取表单。 –