diff --git a/docs/changelog.rst b/docs/changelog.rst index 29475a92..03a80188 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -6,7 +6,7 @@ ChangeLog 3.3.2 (unreleased) ------------------ -- Nothing changed yet. +- Add typing information to SQLAlchemy model factory 3.3.1 (2024-08-18) diff --git a/factory/alchemy.py b/factory/alchemy.py index e782fbd8..10ed4c1c 100644 --- a/factory/alchemy.py +++ b/factory/alchemy.py @@ -1,5 +1,7 @@ # Copyright: See the LICENSE file. +from typing import TypeVar + from sqlalchemy.exc import IntegrityError from sqlalchemy.orm.exc import NoResultFound @@ -12,6 +14,7 @@ SESSION_PERSISTENCE_COMMIT, SESSION_PERSISTENCE_FLUSH, ] +T = TypeVar('T') class SQLAlchemyOptions(base.FactoryOptions): @@ -43,7 +46,7 @@ def _build_default_options(self): ] -class SQLAlchemyModelFactory(base.Factory): +class SQLAlchemyModelFactory(base.Factory[T]): """Factory for SQLAlchemy models. """ _options_class = SQLAlchemyOptions