diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-09-22 09:00:44 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-09-22 09:00:44 -0400 |
commit | 468766d6bac1e54a59c5f7d7167467dbc7d29a82 (patch) | |
tree | 808780d5ce773e9e217897f45065043c9d6c6bc2 | |
parent | e973fd5d5712b7212624b329015633fecfd1a25c (diff) | |
download | sqlalchemy-468766d6bac1e54a59c5f7d7167467dbc7d29a82.tar.gz |
Expect collected weak reference in ORM listener
CI is showing that this listener may be triggered
when the target, a mapped class, has been garbage collected.
I'm not able to reproduce this locally.
Change-Id: Iad96c088a9a3dc28c4bcd716e293c03d3b312efd
-rw-r--r-- | lib/sqlalchemy/orm/events.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/sqlalchemy/orm/events.py b/lib/sqlalchemy/orm/events.py index ec907c63e..0349c445c 100644 --- a/lib/sqlalchemy/orm/events.py +++ b/lib/sqlalchemy/orm/events.py @@ -67,6 +67,9 @@ class InstrumentationEvents(event.Events): def listen(target_cls, *arg): listen_cls = target() + if listen_cls is None: + return None + if propagate and issubclass(target_cls, listen_cls): return fn(target_cls, *arg) elif not propagate and target_cls is listen_cls: |