Skip to content

Commit d1a53b5

Browse files
committed
Fix Constant field serialization
1 parent 97cef83 commit d1a53b5

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

src/marshmallow/fields.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2061,6 +2061,9 @@ def __init__(self, constant: _ContantT, **kwargs: Unpack[_BaseFieldKwargs]):
20612061
if kwargs.get("allow_none") is None and constant is None:
20622062
self.allow_none = True
20632063

2064+
def _serialize(self, value, **kwargs) -> _ContantT:
2065+
return self.constant
2066+
20642067
def _deserialize(self, value, **kwargs) -> _ContantT:
20652068
return self.constant
20662069

tests/test_serialization.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -877,7 +877,7 @@ def test_serialize_does_not_apply_validators(self):
877877

878878
def test_constant_field_serialization(self):
879879
field = fields.Constant("something")
880-
assert field.serialize("something") == "something"
880+
assert field.serialize("whatever") == "something"
881881

882882
def test_constant_is_always_included_in_serialized_data(self):
883883
class MySchema(Schema):

0 commit comments

Comments
 (0)