diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-11-14 02:08:53 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-11-14 02:08:53 +0000 |
commit | 3da9e666d47d2d5824cf384a1d910686cc1ec01f (patch) | |
tree | 0325962afadcf45a7f54b96df1216b8a93d0dc75 /lib/sqlalchemy | |
parent | cd74af72b9765c09fc8614c4666777f76473cc13 (diff) | |
download | sqlalchemy-3da9e666d47d2d5824cf384a1d910686cc1ec01f.tar.gz |
added thingy to allow adding properties after mapper is contstructed
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r-- | lib/sqlalchemy/mapper.py | 12 | ||||
-rw-r--r-- | lib/sqlalchemy/objectstore.py | 2 |
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) |