diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2022-01-14 22:54:54 +0000 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@ci3.zzzcomputing.com> | 2022-01-14 22:54:54 +0000 |
| commit | f67f93db3cc5bb1980f0836f4ecbb6aada8b4618 (patch) | |
| tree | b4520aa8fb0cc41894b9a1c30ec4a0ada8f0c955 /lib/sqlalchemy/ext/hybrid.py | |
| parent | 07cd49daaadd0a0568444eaeccaa79f79cd15ffc (diff) | |
| parent | 4999784664b9e73204474dd3dd91ee60fd174e3e (diff) | |
| download | sqlalchemy-f67f93db3cc5bb1980f0836f4ecbb6aada8b4618.tar.gz | |
Merge "Initial ORM typing layout" into main
Diffstat (limited to 'lib/sqlalchemy/ext/hybrid.py')
| -rw-r--r-- | lib/sqlalchemy/ext/hybrid.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/sqlalchemy/ext/hybrid.py b/lib/sqlalchemy/ext/hybrid.py index 52817e838..c7d9d4f88 100644 --- a/lib/sqlalchemy/ext/hybrid.py +++ b/lib/sqlalchemy/ext/hybrid.py @@ -802,10 +802,15 @@ advanced and/or patient developers, there's probably a whole lot of amazing things it can be used for. """ # noqa +from typing import Any +from typing import TypeVar + from .. import util from ..orm import attributes from ..orm import interfaces +_T = TypeVar("_T", bound=Any) + HYBRID_METHOD = util.symbol("HYBRID_METHOD") """Symbol indicating an :class:`InspectionAttr` that's of type :class:`.hybrid_method`. @@ -1147,7 +1152,7 @@ class hybrid_property(interfaces.InspectionAttrInfo): return expr_comparator -class Comparator(interfaces.PropComparator): +class Comparator(interfaces.PropComparator[_T]): """A helper class that allows easy construction of custom :class:`~.orm.interfaces.PropComparator` classes for usage with hybrids.""" @@ -1168,7 +1173,7 @@ class Comparator(interfaces.PropComparator): return self -class ExprComparator(Comparator): +class ExprComparator(Comparator[_T]): def __init__(self, cls, expression, hybrid): self.cls = cls self.expression = expression |
