]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
add inspect module in mapper.py, check if validators are funclike object (e.g. cyfunc...
authorMiłosz Stypiński <mstypins@cisco.com>
Wed, 26 May 2021 11:20:47 +0000 (13:20 +0200)
committerMiłosz Stypiński <mstypins@cisco.com>
Wed, 26 May 2021 11:20:47 +0000 (13:20 +0200)
lib/sqlalchemy/orm/mapper.py

index 6054029aa74e846d3526ece7044816f70f14aa83..5cea675ff1ce17d9b5e1788d8e758dc710cf38e3 100644 (file)
@@ -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)