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
desertthrows an error when adataclasshas more than one subtype other thanNoneI think this is to do with the check of
is_optional_type()beforeis_union_type(). I think within theis_optional_type()branch we should createsubfieldsfor all remaining subtypes other thanNoneType.Even without the
Nonein the type, the default value of the field is still<marshmallow.missing>rather than3