diff options
Diffstat (limited to 'lib/sqlalchemy/orm/strategies.py')
-rw-r--r-- | lib/sqlalchemy/orm/strategies.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/strategies.py b/lib/sqlalchemy/orm/strategies.py index 4e7636cf8..4b9eb3b0f 100644 --- a/lib/sqlalchemy/orm/strategies.py +++ b/lib/sqlalchemy/orm/strategies.py @@ -195,7 +195,7 @@ class ColumnLoader(LoaderStrategy): @log.class_logger -@properties.ColumnProperty.strategy_for(deferred_expression=True) +@properties.ColumnProperty.strategy_for(query_expression=True) class ExpressionColumnLoader(ColumnLoader): def __init__(self, parent, strategy_key): super(ExpressionColumnLoader, self).__init__(parent, strategy_key) @@ -235,6 +235,15 @@ class ExpressionColumnLoader(ColumnLoader): else: populators["expire"].append((self.key, True)) + def init_class_attribute(self, mapper): + self.is_class_level = True + + _register_attribute( + self.parent_property, mapper, useobject=False, + compare_function=self.columns[0].type.compare_values, + accepts_scalar_loader=False + ) + @log.class_logger @properties.ColumnProperty.strategy_for(deferred=True, instrument=True) |