From bfefcf3bb110fa35bc10c50d8e90ae9d0ff65630 Mon Sep 17 00:00:00 2001 From: Matt Westcott Date: Wed, 11 Feb 2015 13:30:26 +0000 Subject: [PATCH 1/2] treat empty string as an empty value on StreamField too --- wagtail/wagtailcore/fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wagtail/wagtailcore/fields.py b/wagtail/wagtailcore/fields.py index 6b1a3316a..aaba01317 100644 --- a/wagtail/wagtailcore/fields.py +++ b/wagtail/wagtailcore/fields.py @@ -55,7 +55,7 @@ class StreamField(with_metaclass(models.SubfieldBase, models.Field)): return name, path, args, kwargs def to_python(self, value): - if value is None: + if value is None or value == '': return StreamValue(self.stream_block, []) elif isinstance(value, StreamValue): return value From 194535120a74c1629900c8009e42e46eb6ce8c53 Mon Sep 17 00:00:00 2001 From: Matt Westcott Date: Wed, 11 Feb 2015 13:38:23 +0000 Subject: [PATCH 2/2] New ListBlocks should consist of one empty item by default --- wagtail/wagtailadmin/blocks.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wagtail/wagtailadmin/blocks.py b/wagtail/wagtailadmin/blocks.py index 4617f701b..feb8946fd 100644 --- a/wagtail/wagtailadmin/blocks.py +++ b/wagtail/wagtailadmin/blocks.py @@ -541,7 +541,8 @@ class StructBlock(six.with_metaclass(DeclarativeSubBlocksMetaclass, BaseStructBl class ListBlock(Block): class Meta: - default = [] + # Default to a list consisting of one empty child item (using None to trigger the child's empty / default rendering) + default = [None] def __init__(self, child_block, **kwargs): super(ListBlock, self).__init__(**kwargs)