marshmallow icon indicating copy to clipboard operation
marshmallow copied to clipboard

Always set data_key

Open kasium opened this issue 2 years ago • 2 comments

Hello all,

in my application we use and love marshmallow. We have a lot of dynamic coding, therefore we access fields e.g. over the declared_fields attribute. Also we need most of the time the Field.data_key attribute which is defined as str | None.

I would like to suggest an option, which always sets the data_key so that it will never be None. If the user provides it, fine. Else, just set it to the field name. I guess this could also simplify some coding, since you can expect that this attribute is always set.

What do you think?

kasium avatar Aug 13 '21 13:08 kasium

I don't have any objection to this right away, assuming it is feasible without too much trouble.

It could happen in _bind_to_schema.

Anyone willing to work on this?

lafrech avatar Aug 31 '21 12:08 lafrech

@lafrech I'm happy to take look, if you think it can be managed by somebody with no contributions to this project yet.

The _bind_to_schema seems to be the right place. However, how would you manage the typing? The data_key must still be defined as optional, because it will be potential None till it's bindend. The intention of this issue is, to get rid of the optional

kasium avatar Aug 31 '21 13:08 kasium