@@ -287,6 +287,9 @@ class AlbumSchema(Schema):
287287 will be ignored. Use dot delimiters to specify nested fields.
288288 :param unknown: Whether to exclude, include, or raise an error for unknown
289289 fields in the data. Use `EXCLUDE`, `INCLUDE` or `RAISE`.
290+ :param propagate_unknown: If ``True``, the value for ``unknown`` will be
291+ applied to all ``Nested`` fields. Propagates down and allows
292+ ``Nested`` fields to apply their own ``unknown`` value
290293
291294 .. versionchanged:: 3.0.0
292295 `prefix` parameter removed.
@@ -364,6 +367,10 @@ class Meta:
364367 - ``dump_only``: Tuple or list of fields to exclude from deserialization
365368 - ``unknown``: Whether to exclude, include, or raise an error for unknown
366369 fields in the data. Use `EXCLUDE`, `INCLUDE` or `RAISE`.
370+ - ``propagate_unknown`` If ``True``, the value for ``unknown`` will be
371+ applied to all ``Nested`` fields. Propagates down, but if a ``Nested``
372+ field sets ``unknown``, it will begin to propagate that value, not the
373+ where this is set.
367374 - ``register``: Whether to register the `Schema` with marshmallow's internal
368375 class registry. Must be `True` if you intend to refer to this `Schema`
369376 by class name in `Nested` fields. Only set this to `False` when memory
@@ -619,6 +626,9 @@ def _deserialize(
619626 will be ignored. Use dot delimiters to specify nested fields.
620627 :param unknown: Whether to exclude, include, or raise an error for unknown
621628 fields in the data. Use `EXCLUDE`, `INCLUDE` or `RAISE`.
629+ :param propagate_unknown: If ``True``, the value for ``unknown`` will be
630+ applied to all ``Nested`` fields. Propagates down and allows
631+ ``Nested`` fields to apply their own ``unknown`` value
622632 :param int index: Index of the item being serialized (for storing errors) if
623633 serializing a collection, otherwise `None`.
624634 :return: A dictionary of the deserialized data.
@@ -733,6 +743,9 @@ def load(
733743 :param unknown: Whether to exclude, include, or raise an error for unknown
734744 fields in the data. Use `EXCLUDE`, `INCLUDE` or `RAISE`.
735745 If `None`, the value for `self.unknown` is used.
746+ :param propagate_unknown: If ``True``, the value for ``unknown`` will be
747+ applied to all ``Nested`` fields. Propagates down and allows
748+ ``Nested`` fields to apply their own ``unknown`` value
736749 :return: Deserialized data
737750
738751 .. versionadded:: 1.0.0
@@ -772,6 +785,9 @@ def loads(
772785 :param unknown: Whether to exclude, include, or raise an error for unknown
773786 fields in the data. Use `EXCLUDE`, `INCLUDE` or `RAISE`.
774787 If `None`, the value for `self.unknown` is used.
788+ :param propagate_unknown: If ``True``, the value for ``unknown`` will be
789+ applied to all ``Nested`` fields. Propagates down and allows
790+ ``Nested`` fields to apply their own ``unknown`` value
775791 :return: Deserialized data
776792
777793 .. versionadded:: 1.0.0
@@ -864,6 +880,9 @@ def _do_load(
864880 :param unknown: Whether to exclude, include, or raise an error for unknown
865881 fields in the data. Use `EXCLUDE`, `INCLUDE` or `RAISE`.
866882 If `None`, the value for `self.unknown` is used.
883+ :param propagate_unknown: If ``True``, the value for ``unknown`` will be
884+ applied to all ``Nested`` fields. Propagates down and allows
885+ ``Nested`` fields to apply their own ``unknown`` value
867886 :param postprocess: Whether to run post_load methods..
868887 :return: Deserialized data
869888 """
0 commit comments