summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2005-12-20 05:26:29 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2005-12-20 05:26:29 +0000
commitca7a4de71247dee606655d79db4ec67e8b70801d (patch)
treeaf991f184c51e22e4db20df8243dd001327178f5 /lib/sqlalchemy
parent7e512ec0fc00d6cb5cfe979dcda65ab026e117a5 (diff)
downloadsqlalchemy-ca7a4de71247dee606655d79db4ec67e8b70801d.tar.gz
added assign_mapper
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/mapping/__init__.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/sqlalchemy/mapping/__init__.py b/lib/sqlalchemy/mapping/__init__.py
index 15624af24..f640e27bb 100644
--- a/lib/sqlalchemy/mapping/__init__.py
+++ b/lib/sqlalchemy/mapping/__init__.py
@@ -30,7 +30,7 @@ import mapper as mapperlib
__all__ = ['relation', 'eagerload', 'lazyload', 'noload', 'assignmapper',
'mapper', 'clear_mappers', 'objectstore', 'sql', 'extension', 'class_mapper', 'object_mapper', 'MapperExtension',
- 'ColumnProperty'
+ 'ColumnProperty', 'assign_mapper'
]
def relation(*args, **params):
@@ -145,3 +145,19 @@ def class_mapper(class_):
except AttributeError:
pass
raise "Class '%s' has no mapper associated with it" % class_.__name__
+
+def assign_mapper(class_, *args, **params):
+ params.setdefault("is_primary", True)
+ m = mapper(class_, *args, **params)
+ class_.mapper = m
+ class_.get = m.get
+ class_.select = m.select
+ class_.select_by = m.select_by
+ class_.selectone = m.selectone
+ class_.get_by = m.get_by
+ def commit(self):
+ objectstore.commit(self)
+ def delete(self):
+ objectstore.delete(self)
+ class_.commit = commit
+ class_.delete = delete \ No newline at end of file