Программно удалить элемент списка трясогузки
У меня есть абстрактный класс, который определяет 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
с пустым - хотя и обязательным - значением для file
,
Я могу смягчить это, добавив приемник для модели документа Wagtail и прослушав models.signals.post_delete
, но как я могу программно удалить объекты Wagtail ListBlock, на которые влияют?