Author: phd
Date: 2005-02-11 12:24:33 +0000 (Fri, 11 Feb 2005)
New Revision: 602
Modified:
trunk/SQLObject/setup.py
trunk/SQLObject/sqlobject/inheritance/__init__.py
Log:
Do not pass parent's values to the child's _create() to avoid double UPDATEing of these values.
Added 'inheritance' subpackage to setup.py.
Modified: trunk/SQLObject/setup.py
===================================================================
--- trunk/SQLObject/setup.py 2005-02-11 12:20:51 UTC (rev 601)
+++ trunk/SQLObject/setup.py 2005-02-11 12:24:33 UTC (rev 602)
@@ -2,7 +2,7 @@
import warnings
warnings.filterwarnings("ignore", "Unknown distribution option")
-subpackages = ['firebird', 'include', 'mysql', 'postgres',
+subpackages = ['firebird', 'include', 'inheritance', 'mysql', 'postgres',
'sqlite', 'sybase', 'maxdb']
import sys
Modified: trunk/SQLObject/sqlobject/inheritance/__init__.py
===================================================================
--- trunk/SQLObject/sqlobject/inheritance/__init__.py 2005-02-11 12:20:51 UTC (rev 601)
+++ trunk/SQLObject/sqlobject/inheritance/__init__.py 2005-02-11 12:24:33 UTC (rev 602)
@@ -178,11 +178,14 @@
#DSM: we must first create our parent
if self._parentClass:
parentClass = self._parentClass
- parent_kw = dict(
- [(name, value) for (name, value) in kw.items()
- if hasattr(parentClass, name)
- ]
- )
+ new_kw = {}
+ parent_kw = {}
+ for (name, value) in kw.items():
+ if hasattr(parentClass, name):
+ parent_kw[name] = value
+ else:
+ new_kw[name] = value
+ kw = new_kw
self._parent = parentClass(kw=parent_kw)
self._parent.childName = self.__class__.__name__
id = self._parent.id
|