我有一个抽象类,该类为{StreamField
定义了Page
:
class DownloadGroupItem(models.Model):
class Meta:
abstract = True
downloads = StreamField([
('items', ListBlock(
StructBlock(
[
('title', CharBlock()),
('description', TextBlock()),
('file', DocumentChooserBlock()),
],
template='downloads/blocks/item.html',
form_classname='downloads__itemlist struct-block'
),
label='Add download'
))
])
如果通过file
保存的DocumentChooserBlock
从页面的外部被删除,这将使ListBlock
项目无效,无法在模板中输出。如果发生这种情况,当前的行为是将StructBlock
的值保留为空(尽管是必需的)。{p>
我可以通过为Wagtail文档模型添加接收器并侦听file
来减轻这种情况,但是如何以编程方式删除受影响的Wagtail ListBlock项目?