Skip to content

Commit ca633bb

Browse files
author
Kevin Kirsche
authored
Add type hints to flask_sqlalchemy.model (#8389)
1 parent 87fc724 commit ca633bb

File tree

1 file changed

+11
-7
lines changed
  • stubs/Flask-SQLAlchemy/flask_sqlalchemy

1 file changed

+11
-7
lines changed
Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
from re import Pattern
2-
from typing import Any
2+
from typing import Any, Generic, TypeVar
33

4+
from sqlalchemy import Table
45
from sqlalchemy.ext.declarative import DeclarativeMeta
6+
from sqlalchemy.orm import Query
7+
8+
_ModelT = TypeVar("_ModelT")
59

610
def should_set_tablename(cls: type) -> bool: ...
711

@@ -10,14 +14,14 @@ camelcase_re: Pattern[str]
1014
def camel_to_snake_case(name: str) -> str: ...
1115

1216
class NameMetaMixin(type):
13-
def __init__(cls, name, bases, d) -> None: ...
14-
def __table_cls__(cls, *args, **kwargs): ...
17+
def __init__(cls, name: str, bases: tuple[type, ...], d: dict[str, Any]) -> None: ...
18+
def __table_cls__(cls, *args, **kwargs) -> Table | None: ...
1519

1620
class BindMetaMixin(type):
17-
def __init__(cls, name, bases, d) -> None: ...
21+
def __init__(cls, name: str, bases: tuple[type, ...], d: dict[str, Any]) -> None: ...
1822

1923
class DefaultMeta(NameMetaMixin, BindMetaMixin, DeclarativeMeta): ...
2024

21-
class Model:
22-
query_class: Any | None
23-
query: Any | None
25+
class Model(Generic[_ModelT]):
26+
query_class: type[Query[_ModelT]] | None
27+
query: Query[_ModelT] | None

0 commit comments

Comments
 (0)