Bug for deserialising fields of type Optional[Dataclass]
Closed this issue · 1 comments
FilipDeleersnijder commented
Whenever you want to serialise/deserialise a dataclass that has as one of its field an Optional[T] with T being another dataclass, deserialising fails.
Code to reproduce:
from typing import Optional
from unittest import TestCase
from dataclasses import dataclass
from dataclasses_serialization.json import JSONSerializer
class TestDeleteme(TestCase):
def test_one(self):
dc1 = DC1()
dc2 = DC2()
JSONSerializer.deserialize(DC1, JSONSerializer.serialize(dc1))
serialised_value = JSONSerializer.serialize(dc2)
JSONSerializer.deserialize(DC2, serialised_value)
@dataclass
class DC1:
value: Optional[float] = None
@dataclass
class DC2:
optional_dc1: Optional[DC1] = None
madman-bob commented
The problem is not just for Optional
, but also all Union
s involving dataclasses.
Fixed in 8217789, and released as 1.2.2.