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.

1 Answer

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.

2

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Alexander Ross

Alexander Ross

Gaming, Esports & Interactive Media Writer

Alexander Ross has covered the video game industry for a decade, writing deep dives on game design, esports tournaments, VR developments, and gaming culture.

Share this article
Twitter Facebook Pinterest