From 3da9e666d47d2d5824cf384a1d910686cc1ec01f Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 14 Nov 2005 02:08:53 +0000 Subject: [PATCH] added thingy to allow adding properties after mapper is contstructed --- lib/sqlalchemy/mapper.py | 12 ++++++++++++ lib/sqlalchemy/objectstore.py | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/sqlalchemy/mapper.py b/lib/sqlalchemy/mapper.py index e5b384ba5c..12c9289792 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 914aaecb2d..6c7d9af4c3 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) -- 2.47.2