[SQL-CVS] r432 - trunk/SQLObject/sqlobject
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: <sub...@co...> - 2004-12-03 09:24:36
|
Author: phd Date: 2004-12-03 09:24:29 +0000 (Fri, 03 Dec 2004) New Revision: 432 Modified: trunk/SQLObject/sqlobject/main.py Log: Convert dbValue back toPython. Modified: trunk/SQLObject/sqlobject/main.py =================================================================== --- trunk/SQLObject/sqlobject/main.py 2004-12-02 19:57:06 UTC (rev 431) +++ trunk/SQLObject/sqlobject/main.py 2004-12-03 09:24:29 UTC (rev 432) @@ -769,9 +769,14 @@ # _SO_creating is special, see _SO_setValue if self._SO_creating or self._lazyUpdate: for name, value in kw.items(): - fromPy = getattr(self, '_SO_fromPython_%s' % name, None) - if fromPy: - kw[name] = fromPy(value, self._SO_validatorState) + fromPython = getattr(self, '_SO_fromPython_%s' % name, None) + if fromPython: + kw[name] = dbValue = fromPython(value, self._SO_validatorState) + else: + dbValue = value + toPython = getattr(self, '_SO_toPython_%s' % name, None) + if toPython: + value = toPython(dbValue, self._SO_validatorState) setattr(self, instanceName(name), value) for name, value in extra.items(): try: @@ -805,9 +810,12 @@ dbValue = fromPython(value, self._SO_validatorState) else: dbValue = value - toUpdate[name] = dbValue + toPython = getattr(self, '_SO_toPython_%s' % name, None) + if toPython: + value = toPython(dbValue, self._SO_validatorState) if self._cacheValues: setattr(self, instanceName(name), value) + toUpdate[name] = dbValue for name, value in extra.items(): try: getattr(self.__class__, name) |