Decorator to mark an object as providing dataclass-like behavior.
@typing.dataclass_transform(*, eq_default=True, order_default=False, kw_only_default=False, field_specifiers=(), **kwargs)
| Parameter | Description |
|---|---|
eq_default |
Indicates whether the eq parameter is assumed to be True or False if it is omitted by the caller. Defaults to True. |
eq_default |
Indicates whether the eq parameter is assumed to be True or False if it is omitted by the caller. Defaults to True. |
order_default |
Indicates whether the order parameter is assumed to be True or False if it is omitted by the caller. Defaults to False. |
order_default |
Indicates whether the order parameter is assumed to be True or False if it is omitted by the caller. Defaults to False. |
kw_only_default |
Indicates whether the kw_only parameter is assumed to be True or False if it is omitted by the caller. Defaults to False. |
kw_only_default |
Indicates whether the kw_only parameter is assumed to be True or False if it is omitted by the caller. Defaults to False. |
field_specifiers |
Specifies a static list of supported classes or functions that describe fields, similar to dataclasses.field(). Defaults to (). |
field_specifiers |
Specifies a static list of supported classes or functions that describe fields, similar to dataclasses.field(). Defaults to (). |
T = TypeVar("T")
@dataclass_transform()
def create_model(cls: type[T]) -> type[T]:
...
return cls
@create_model
class CustomerModel:
id: int
name: str
@dataclass_transform()
class ModelBase: ...
class CustomerModel(ModelBase):
id: int
name: str
@dataclass_transform()
class ModelMeta(type): ...
class ModelBase(metaclass=ModelMeta): ...
class CustomerModel(ModelBase):
id: int
name: str