summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2005-11-14 02:08:53 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2005-11-14 02:08:53 +0000
commit3da9e666d47d2d5824cf384a1d910686cc1ec01f (patch)
tree0325962afadcf45a7f54b96df1216b8a93d0dc75 /lib/sqlalchemy
parentcd74af72b9765c09fc8614c4666777f76473cc13 (diff)
downloadsqlalchemy-3da9e666d47d2d5824cf384a1d910686cc1ec01f.tar.gz
added thingy to allow adding properties after mapper is contstructed
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/mapper.py12
-rw-r--r--lib/sqlalchemy/objectstore.py2
2 files changed, 13 insertions, 1 deletions
diff --git a/lib/sqlalchemy/mapper.py b/lib/sqlalchemy/mapper.py
index e5b384ba5..12c928979 100644
--- a/lib/sqlalchemy/mapper.py
+++ b/lib/sqlalchemy/mapper.py
@@ -260,6 +260,17 @@ class Mapper(object):
engines = property(lambda s: [t.engine for t in s.tables])
+ def add_property(self, key, prop):
+ if isinstance(prop, schema.Column):
+ self.columns[key] = prop
+ prop = ColumnProperty(prop)
+ self.props[key] = prop
+ if isinstance(prop, ColumnProperty):
+ for col in prop.columns:
+ proplist = self.columntoproperty.setdefault(col.original, [])
+ proplist.append(prop)
+ prop.init(key, self)
+
def _init_properties(self):
[prop.init(key, self) for key, prop in self.props.iteritems()]
@@ -819,6 +830,7 @@ class PropertyLoader(MapperProperty):
if self.uselist:
childlist = uow.attributes.get_history(obj, self.key, passive = False)
+ print "W00P RD on", repr(obj), "list=", repr([repr(k.__dict__) for k in childlist])
else:
childlist = uow.attributes.get_history(obj, self.key)
for child in childlist.deleted_items() + childlist.unchanged_items():
diff --git a/lib/sqlalchemy/objectstore.py b/lib/sqlalchemy/objectstore.py
index 914aaecb2..6c7d9af4c 100644
--- a/lib/sqlalchemy/objectstore.py
+++ b/lib/sqlalchemy/objectstore.py
@@ -336,7 +336,7 @@ class UOWTransaction(object):
task.mapper.register_dependencies(self)
head = self._sort_dependencies()
- print "Task dump:\n" + head.dump()
+ #print "Task dump:\n" + head.dump()
if head is not None:
head.execute(self)