'Marshmallow Field not loading default value

I have a Marshmallow Schema defined as:

class MySchema:
    myfield = fields.Str(required=False, default=“value”)

When I do:

s = MySchema().load({})

I would expect the return to be: {‘myfield’:’value’}

But I am getting {} in return.

Is there anything am I missing?

Edit:

I’m using marshmallow 3.11 due to project limitations. I can’t upgrade to 3.15. Tried with 3.15 and it is working as expected.



Solution 1:[1]

Until marshmallow 3.12:

  • default: value to use by default when dumping (serializing)
  • missing: value to use by default when loading (deserializing)

Since marshmallow 3.13:

  • dump_default: value to use by default when dumping (serializing)
  • load_default: value to use by default when loading (deserializing)

default / missing still behave the same in marshmallow 3.13+ but issue a deprecation warning.

https://marshmallow.readthedocs.io/en/stable/changelog.html#id4

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Jérôme