From 50cd462af7435a2239f04f8ca47d246e39cbbf3d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mi=C5=82osz=20Stypi=C5=84ski?= Date: Wed, 26 May 2021 13:20:47 +0200 Subject: [PATCH] add inspect module in mapper.py, check if validators are funclike object (e.g. cyfunction from Cython) --- lib/sqlalchemy/orm/mapper.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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) -- 2.47.3