-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Description
desert throws an error when a dataclass has more than one subtype other than None
import desert
from dataclasses import dataclass
from typing import Union
from marshmallow import Schema
@dataclass
class MyOptionalKlass:
a: Union[float, str, None] = 3
schema = desert.schema(MyOptionalKlass)
#> ValueError: too many values to unpack (expected 1)I think this is to do with the check of is_optional_type() before is_union_type(). I think within the is_optional_type() branch we should create subfields for all remaining subtypes other than NoneType.
Even without the None in the type, the default value of the field is still <marshmallow.missing> rather than 3
TTimerkhanov and dargueta
Metadata
Metadata
Assignees
Labels
No labels