[SQL-CVS] r2228 - SQLObject/trunk/sqlobject/versioning
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
|
From: <sub...@co...> - 2007-01-22 21:26:36
|
Author: novalis
Date: 2007-01-22 14:26:24 -0700 (Mon, 22 Jan 2007)
New Revision: 2228
Modified:
SQLObject/trunk/sqlobject/versioning/__init__.py
Log:
make version objects act like instances of their master class
Modified: SQLObject/trunk/sqlobject/versioning/__init__.py
===================================================================
--- SQLObject/trunk/sqlobject/versioning/__init__.py 2007-01-22 13:31:01 UTC (rev 2227)
+++ SQLObject/trunk/sqlobject/versioning/__init__.py 2007-01-22 21:26:24 UTC (rev 2228)
@@ -33,6 +33,12 @@
return super(Version, cls).select(clause, *args, **kw)
select = classmethod(select)
+ def __getattr__(self, attr):
+ if self.__dict__.has_key(attr):
+ return self.__dict__[attr]
+ else:
+ return getattr(self.master, attr)
+
def getColumns(columns, cls):
for column, defi in cls.sqlmeta.columnDefinitions.items():
if column.endswith("ID") and isinstance(defi, ForeignKey):
@@ -69,6 +75,9 @@
(Version,),
attrs)
+ if '_connection' in self.soClass.__dict__:
+ self.versionClass._connection = self.soClass.__dict__['_connection']
+
events.listen(self.createTable,
soClass, events.CreateTableSignal)
events.listen(self.rowUpdate, soClass,
|