]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
assign_mapper will create a default __init__ method if one doesnt exist
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 16 Jan 2006 04:46:37 +0000 (04:46 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 16 Jan 2006 04:46:37 +0000 (04:46 +0000)
lib/sqlalchemy/mapping/__init__.py

index caaf5485fa2dcdcd15276a819adba6ed5d8670e3..2bcdcabd02aa2466c72f504ea98ff64a6656c47b 100644 (file)
@@ -13,6 +13,7 @@ import sqlalchemy.schema as schema
 import sqlalchemy.engine as engine
 import sqlalchemy.util as util
 import objectstore
+import types as types
 from mapper import *
 from properties import *
 import mapper as mapperlib
@@ -133,6 +134,11 @@ def class_mapper(class_):
 
 def assign_mapper(class_, *args, **params):
     params.setdefault("is_primary", True)
+    if not isinstance(getattr(class_, '__init__'), types.MethodType):
+        def __init__(self, **kwargs):
+             for key, value in kwargs.items():
+                 self.__dict__[key] = value
+        class_.__init__ = __init__
     m = mapper(class_, *args, **params)
     class_.mapper = m
     class_.get = m.get