diff options
author | mike bayer <mike_mp@zzzcomputing.com> | 2022-08-05 14:53:22 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@ci3.zzzcomputing.com> | 2022-08-05 14:53:22 +0000 |
commit | e332909b103661975bd17816b3a2713e30671ae0 (patch) | |
tree | 246e49b63bf8e66befb7c3e493bfc33592f906ec /lib/sqlalchemy/orm/interfaces.py | |
parent | 828a1a0d143976c0e36a4772d4bd908ff6484735 (diff) | |
parent | d2887d03a28b09e9be7db17d7603b6b0a4715df3 (diff) | |
download | sqlalchemy-e332909b103661975bd17816b3a2713e30671ae0.tar.gz |
Merge "Support kw_only and match_args in dataclass mapping" into main
Diffstat (limited to 'lib/sqlalchemy/orm/interfaces.py')
-rw-r--r-- | lib/sqlalchemy/orm/interfaces.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/interfaces.py b/lib/sqlalchemy/orm/interfaces.py index a9ae4436f..0f66566b0 100644 --- a/lib/sqlalchemy/orm/interfaces.py +++ b/lib/sqlalchemy/orm/interfaces.py @@ -187,6 +187,7 @@ class _AttributeOptions(NamedTuple): dataclasses_repr: Union[_NoArg, bool] dataclasses_default: Union[_NoArg, Any] dataclasses_default_factory: Union[_NoArg, Callable[[], Any]] + dataclasses_kw_only: Union[_NoArg, bool] def _as_dataclass_field(self) -> Any: """Return a ``dataclasses.Field`` object given these arguments.""" @@ -200,6 +201,8 @@ class _AttributeOptions(NamedTuple): kw["init"] = self.dataclasses_init if self.dataclasses_repr is not _NoArg.NO_ARG: kw["repr"] = self.dataclasses_repr + if self.dataclasses_kw_only is not _NoArg.NO_ARG: + kw["kw_only"] = self.dataclasses_kw_only return dataclasses.field(**kw) @@ -226,7 +229,7 @@ class _AttributeOptions(NamedTuple): _DEFAULT_ATTRIBUTE_OPTIONS = _AttributeOptions( - _NoArg.NO_ARG, _NoArg.NO_ARG, _NoArg.NO_ARG, _NoArg.NO_ARG + _NoArg.NO_ARG, _NoArg.NO_ARG, _NoArg.NO_ARG, _NoArg.NO_ARG, _NoArg.NO_ARG ) |