def __clause_element__(self):
return self.prop.parent._with_polymorphic_selectable
+
+ def operate(self, op, *other, **kwargs):
+ return op(self, *other, **kwargs)
+
+ def reverse_operate(self, op, other, **kwargs):
+ return op(self, *other, **kwargs)
def of_type(self, cls):
return PropertyLoader.Comparator(self.prop, cls)
self.entity_zero = None
def setup_entity(self, entity, mapper, adapter, from_obj, is_aliased_class, with_polymorphic):
+ self.selectable = from_obj
self.froms.add(from_obj)
def __resolve_expr_against_query_aliases(self, query, expr, context):
return op
def operate(self, op, *other, **kwargs):
- raise NotImplementedError()
+ raise NotImplementedError(str(op))
def reverse_operate(self, op, other, **kwargs):
- raise NotImplementedError()
+ raise NotImplementedError(str(op))
class ColumnOperators(Operators):
"""Defines comparison and math operations."""
sess.save(c)
sess.flush()
sess.clear()
-
+
for C, M in ((Cartographer, Map),
(sa.orm.aliased(Cartographer), sa.orm.aliased(Map))):
c1 = (sess.query(C).