-
Notifications
You must be signed in to change notification settings - Fork 77
Open
Description
Sample code:
from dataclasses import field
from enum import StrEnum
from typing import (
ClassVar,
List,
Type,
)
from marshmallow import Schema
from marshmallow_dataclass import dataclass
class Color(StrEnum):
RED = "red"
GREEN = "green"
BLUE = "blue"
@dataclass
class Thing:
color: Color = field(metadata={"by_value": True})
color_list: List[Color] = field(default_factory=list, metadata={"by_value": True})
Schema: ClassVar[Type[Schema]] = Schema # pylint: disable=invalid-name
thing = Thing(color=Color.RED, color_list=[Color.RED, Color.GREEN, Color.BLUE]) # Example data
serialized_thing = Thing.Schema().dump(thing)
print(serialized_thing)
Actual result:
{'color': 'red', 'color_list': ['RED', 'GREEN', 'BLUE']}
Expected result:
{'color': 'red', 'color_list': ['red', 'green', 'blue]}
Metadata
Metadata
Assignees
Labels
No labels