Is it possible for the approver_time value to be encoded/ decoded only when the date time value is not set to None?
@dataclass_json(letter_case=LetterCase.CAMEL)
@dataclasses.dataclass
class A:
approver_time: datetime.datetime = field(default=None,
metadata=config(
encoder=datetime.date.isoformat,
decoder=datetime.date.fromisoformat,
mm_field=fields.DateTime(format='iso')
))
Answered it by used of lambdas functions.
@dataclass_json(letter_case=LetterCase.CAMEL)
@dataclass_json
@dataclasses.dataclass
class A(Transfer):
approver_time: datetime.datetime = field(metadata=config(
encoder=lambda x: datetime.datetime.isoformat
if x is not None else None,
decoder=lambda x: datetime.datetime.fromisoformat
if x is not None else None,
mm_field=fields.DateTime(format='iso')
), default=None)