From: Mike Bayer Date: Mon, 16 Jan 2006 04:46:37 +0000 (+0000) Subject: assign_mapper will create a default __init__ method if one doesnt exist X-Git-Tag: rel_0_1_0~131 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8757832f4ec6c3e6b8eefd36e30978928c8f6013;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git assign_mapper will create a default __init__ method if one doesnt exist --- diff --git a/lib/sqlalchemy/mapping/__init__.py b/lib/sqlalchemy/mapping/__init__.py index caaf5485fa..2bcdcabd02 100644 --- a/lib/sqlalchemy/mapping/__init__.py +++ b/lib/sqlalchemy/mapping/__init__.py @@ -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