summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/decl_api.py
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2022-08-05 14:53:22 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2022-08-05 14:53:22 +0000
commite332909b103661975bd17816b3a2713e30671ae0 (patch)
tree246e49b63bf8e66befb7c3e493bfc33592f906ec /lib/sqlalchemy/orm/decl_api.py
parent828a1a0d143976c0e36a4772d4bd908ff6484735 (diff)
parentd2887d03a28b09e9be7db17d7603b6b0a4715df3 (diff)
downloadsqlalchemy-e332909b103661975bd17816b3a2713e30671ae0.tar.gz
Merge "Support kw_only and match_args in dataclass mapping" into main
Diffstat (limited to 'lib/sqlalchemy/orm/decl_api.py')
-rw-r--r--lib/sqlalchemy/orm/decl_api.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/sqlalchemy/orm/decl_api.py b/lib/sqlalchemy/orm/decl_api.py
index 500f2786e..d34ec8c93 100644
--- a/lib/sqlalchemy/orm/decl_api.py
+++ b/lib/sqlalchemy/orm/decl_api.py
@@ -578,6 +578,8 @@ class MappedAsDataclass(metaclass=DCTransformDeclarative):
eq: Union[_NoArg, bool] = _NoArg.NO_ARG,
order: Union[_NoArg, bool] = _NoArg.NO_ARG,
unsafe_hash: Union[_NoArg, bool] = _NoArg.NO_ARG,
+ match_args: Union[_NoArg, bool] = _NoArg.NO_ARG,
+ kw_only: Union[_NoArg, bool] = _NoArg.NO_ARG,
) -> None:
apply_dc_transforms: _DataclassArguments = {
@@ -586,6 +588,8 @@ class MappedAsDataclass(metaclass=DCTransformDeclarative):
"eq": eq,
"order": order,
"unsafe_hash": unsafe_hash,
+ "match_args": match_args,
+ "kw_only": kw_only,
}
if hasattr(cls, "_sa_apply_dc_transforms"):
@@ -1313,6 +1317,8 @@ class registry:
eq: Union[_NoArg, bool] = ...,
order: Union[_NoArg, bool] = ...,
unsafe_hash: Union[_NoArg, bool] = ...,
+ match_args: Union[_NoArg, bool] = ...,
+ kw_only: Union[_NoArg, bool] = ...,
) -> Callable[[Type[_O]], Type[_O]]:
...
@@ -1325,6 +1331,8 @@ class registry:
eq: Union[_NoArg, bool] = _NoArg.NO_ARG,
order: Union[_NoArg, bool] = _NoArg.NO_ARG,
unsafe_hash: Union[_NoArg, bool] = _NoArg.NO_ARG,
+ match_args: Union[_NoArg, bool] = _NoArg.NO_ARG,
+ kw_only: Union[_NoArg, bool] = _NoArg.NO_ARG,
) -> Union[Type[_O], Callable[[Type[_O]], Type[_O]]]:
"""Class decorator that will apply the Declarative mapping process
to a given class, and additionally convert the class to be a
@@ -1348,6 +1356,8 @@ class registry:
"eq": eq,
"order": order,
"unsafe_hash": unsafe_hash,
+ "match_args": match_args,
+ "kw_only": kw_only,
}
_as_declarative(self, cls, cls.__dict__)
return cls