From: Mike Bayer Date: Wed, 8 Jun 2022 15:54:46 +0000 (-0400) Subject: add note re: pickling for loader criteria X-Git-Tag: rel_2_0_0b1~260 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=258d07e478eab9ee385f36a5c5fd56c56bf7dfea;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git add note re: pickling for loader criteria Change-Id: I75992af71ba08799a03995178a6e4612c9a7428a References: #8108 --- diff --git a/lib/sqlalchemy/orm/_orm_constructors.py b/lib/sqlalchemy/orm/_orm_constructors.py index e682828650..6ef0a647f2 100644 --- a/lib/sqlalchemy/orm/_orm_constructors.py +++ b/lib/sqlalchemy/orm/_orm_constructors.py @@ -724,11 +724,19 @@ def with_loader_criteria( accepts a target class as an argument, when the given class is a base with many different mapped subclasses. + .. note:: when the SQL expression is a lambda, **pickling is not + supported**. Set + :paramref:`_orm.with_loader_criteria.propagate_to_loaders` + to ``False`` to prevent the object from being applied to instances. + :param include_aliases: if True, apply the rule to :func:`_orm.aliased` constructs as well. :param propagate_to_loaders: defaults to True, apply to relationship - loaders such as lazy loaders. + loaders such as lazy loaders. This indicates that the + option object itself including SQL expression is carried along with + each loaded instance. Set to ``False`` to prevent the object from + being assigned to individual instances. .. seealso::