我怎样才能使 Wagtail Streamfield 不是必需的?

How can I make a Wagtail Streamfield not required?

在下面的模型中,我想让 bottom_content 字段完全不需要。我该怎么做?

class ServicePage(Page):
  top_content = StreamField(default_blocks + [
    ('two_columns', TwoColumnBlock()),
    ('three_columns', ThreeColumnBlock()),
  ])
  bottom_content = StreamField(default_blocks + [
    ('two_columns', TwoColumnBlock()),
    ('three_columns', ThreeColumnBlock()),
  ])

  search_fields = Page.search_fields + [
    index.SearchField('top_content'),
    index.SearchField('bottom_content'),
  ]

  content_panels = Page.content_panels + [
    StreamFieldPanel('top_content'),
    StreamFieldPanel('bottom_content'),
    InlinePanel('service_package', label='Packages')
  ]

StreamField 还接受一个可选的关键字参数 blank,默认为 false;如果为 false,则必须至少提供一个区块才能使该字段被视为有效。

来自: - http://docs.wagtail.io/en/latest/topics/streamfield.html

以下适用于我的设置 blank=True。 Rollingers 的回答是死的 link 所以为任何需要它的人添加代码示例。

class BlogPage(Page):
    body = StreamField([
        ('heading', blocks.CharBlock(form_classname="full title")),
        ('paragraph', blocks.RichTextBlock()),
        ('image', ImageChooserBlock()),
    ], blank=True)