From: Miłosz Stypiński Date: Wed, 26 May 2021 11:20:47 +0000 (+0200) Subject: add inspect module in mapper.py, check if validators are funclike object (e.g. cyfunc... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50cd462af7435a2239f04f8ca47d246e39cbbf3d;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git add inspect module in mapper.py, check if validators are funclike object (e.g. cyfunction from Cython) --- diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index 6054029aa7..5cea675ff1 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -18,6 +18,7 @@ from __future__ import absolute_import from collections import deque from itertools import chain +import inspect import sys import types import weakref @@ -1262,7 +1263,7 @@ class Mapper( method = method._sa_original_init if isinstance(method, types.MethodType): method = method.__func__ - if isinstance(method, types.FunctionType): + if isinstance(method, types.FunctionType) or inspect._signature_is_functionlike(method): if hasattr(method, "__sa_reconstructor__"): self._reconstructor = method event.listen(manager, "load", _event_on_load, raw=True)