diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2023-03-17 08:35:56 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2023-03-17 08:43:22 -0400 |
| commit | f898d55be0e6c1ef0ce3105d563d599afe7556bc (patch) | |
| tree | 0e7b47e36f9651a2f3fa3dfd86d9a3ca7a4ac562 /lib/sqlalchemy/orm | |
| parent | d9539e3990acf19ee1a03690d4a7441d26a7fbfd (diff) | |
| download | sqlalchemy-f898d55be0e6c1ef0ce3105d563d599afe7556bc.tar.gz | |
add explicit overload for composite -> callable
Fixed typing issue where :func:`_orm.composite` would not allow an
arbitrary callable as the source of the composite class.
Fixes: #9502
Change-Id: I5b098b70b2fb7b48f54eaccbb7d5d3d9bdebc781
Diffstat (limited to 'lib/sqlalchemy/orm')
| -rw-r--r-- | lib/sqlalchemy/orm/_orm_constructors.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/sqlalchemy/orm/_orm_constructors.py b/lib/sqlalchemy/orm/_orm_constructors.py index 64e7937f1..9f9330cea 100644 --- a/lib/sqlalchemy/orm/_orm_constructors.py +++ b/lib/sqlalchemy/orm/_orm_constructors.py @@ -481,6 +481,28 @@ def composite( ... +@overload +def composite( + _class_or_attr: Callable[..., _CC], + *attrs: _CompositeAttrType[Any], + group: Optional[str] = None, + deferred: bool = False, + raiseload: bool = False, + comparator_factory: Optional[Type[Composite.Comparator[_T]]] = None, + active_history: bool = False, + init: Union[_NoArg, bool] = _NoArg.NO_ARG, + repr: Union[_NoArg, bool] = _NoArg.NO_ARG, # noqa: A002 + default: Optional[Any] = _NoArg.NO_ARG, + default_factory: Union[_NoArg, Callable[[], _T]] = _NoArg.NO_ARG, + compare: Union[_NoArg, bool] = _NoArg.NO_ARG, + kw_only: Union[_NoArg, bool] = _NoArg.NO_ARG, + info: Optional[_InfoType] = None, + doc: Optional[str] = None, + **__kw: Any, +) -> Composite[_CC]: + ... + + def composite( _class_or_attr: Union[ None, Type[_CC], Callable[..., _CC], _CompositeAttrType[Any] |
