summaryrefslogtreecommitdiff
path: root/examples/vertical
diff options
context:
space:
mode:
authorJason Kirtland <jek@discorporate.us>2008-03-17 22:06:49 +0000
committerJason Kirtland <jek@discorporate.us>2008-03-17 22:06:49 +0000
commitc37ed5cbb39f1928b4f4432c445a877bf5b3e3f1 (patch)
treec7d618cfd0663b7c85f42d862740ae69caf4c28d /examples/vertical
parente17edb3240e9707d25a35456ce277d2ee8d332f5 (diff)
downloadsqlalchemy-c37ed5cbb39f1928b4f4432c445a877bf5b3e3f1.tar.gz
- Added comparable_property(), adds query Comparator behavior to regular, unmanaged Python properties
- Some aspects of MapperProperty initialization are streteched pretty thin now and need a refactor; will proceed with these on the user_defined_state branch
Diffstat (limited to 'examples/vertical')
-rw-r--r--examples/vertical/dictlike-polymorphic.py23
1 files changed, 1 insertions, 22 deletions
diff --git a/examples/vertical/dictlike-polymorphic.py b/examples/vertical/dictlike-polymorphic.py
index 66dcd4856..4065337c2 100644
--- a/examples/vertical/dictlike-polymorphic.py
+++ b/examples/vertical/dictlike-polymorphic.py
@@ -30,7 +30,7 @@ Note: Something much like 'comparable_property' is slated for inclusion in a
"""
from sqlalchemy.orm.interfaces import PropComparator, MapperProperty
-from sqlalchemy.orm import session as sessionlib
+from sqlalchemy.orm import session as sessionlib, comparable_property
# Using the VerticalPropertyDictMixin from the base example
from dictlike import VerticalPropertyDictMixin
@@ -130,27 +130,6 @@ class PolymorphicVerticalProperty(object):
return '<%s %r=%r>' % (self.__class__.__name__, self.key, self.value)
-class comparable_property(MapperProperty):
- """Instruments a Python property for use in query expressions."""
-
- def __init__(self, comparator, property):
- self.property = property
- self.comparator = comparator(self)
-
- def do_init(self):
- class_ = self.parent.class_
- sessionlib.register_attribute(class_, self.key, uselist=False,
- proxy_property=self.property,
- useobject=False,
- comparator=self.comparator)
-
- def setup(self, querycontext, **kwargs):
- pass
-
- def create_row_processor(self, selectcontext, mapper, row):
- return (None, None, None)
-
-
if __name__ == '__main__':
from sqlalchemy import *
from sqlalchemy.orm import mapper, relation, create_session