Программно удалить элемент списка трясогузки

У меня есть абстрактный класс, который определяет 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, на которые влияют?

0 ответов

Другие вопросы по тегам