diff options
Diffstat (limited to 'lib/sqlalchemy/sql/compiler.py')
-rw-r--r-- | lib/sqlalchemy/sql/compiler.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index 8d8cfa38f..c5ff974e5 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -213,10 +213,19 @@ class DefaultCompiler(engine.Compiled): pd[name] = params[paramname] break else: - pd[name] = bindparam.value + if callable(bindparam.value): + pd[name] = bindparam.value() + else: + pd[name] = bindparam.value return pd else: - return dict([(self.bind_names[bindparam], bindparam.value) for bindparam in self.bind_names]) + pd = {} + for bindparam in self.bind_names: + if callable(bindparam.value): + pd[self.bind_names[bindparam]] = bindparam.value() + else: + pd[self.bind_names[bindparam]] = bindparam.value + return pd params = property(construct_params) |