Closed condemil closed 5 years ago
@condemil interesting.
I don't know should dacite
handle cast
for collections. I have to think about it.
For now you can use Config.transform
:
import uuid
from dataclasses import dataclass
from typing import List
import dacite
@dataclass
class X:
ids: List[uuid.UUID]
data = {
'ids': [
'715d2862-cae0-4d61-8491-a6aa2311e859',
'715d2862-cae0-4d61-8491-a6aa2311e859',
],
}
def transform_uuids_list(uuids):
return [
uuid.UUID(value)
for value in uuids
]
x = dacite.from_dict(
data_class=X,
data=data,
config=dacite.Config(transform={'ids': transform_uuids_list}),
)
I am trying to cast a list of strings to UUIDs and get the error. Here is the example: