On Nov 29, 2009, at 2:17 PM, Lukasz Szybalski wrote: > I guess the proper solution is to setup your python class mapper like > this, and use the update method of the __dict__ instead of setattr. > > class Recall(object): > def __init__(self, **kw): > self.__dict__.update(kw) > pass
if Recall is ORM-mapped, the above won't work. use setattr(), not __dict__ access. > > > Lucas > > On Thu, Nov 26, 2009 at 3:24 PM, Lukasz Szybalski <[email protected]> wrote: >> Any idea how should I be set the None Type argument to str.? >> >> x=Recall() >> type(x.MAKETXT) is <type 'NoneType'> >> >> set in OrmObject when it does the setattr it probably fails because >> you cannot setattr on NoneType objects? >> >> setattr(x.MAKETXT,'somevalue') don't you mean setattr(x, 'MAKETXT', 'somevalue') here? >> Traceback (most recent call last): >> File "<stdin>", line 1, in <module> >> TypeError: attribute name must be string, not 'NoneType' >> >> >> What is the proper way to do this? >> Thanks, >> Lucas >> >> On Wed, Nov 25, 2009 at 10:36 PM, Lukasz Szybalski <[email protected]> >> wrote: >>> http://www.sqlalchemy.org/trac/wiki/UsageRecipes/GenericOrmBaseClass >>> >>> class Recall(OrmObject):pass >>> >>> mapper(Recall,recall_table) >>> >>> record=Recall(RECORD_ID=RECORD_ID,CAMPNO=CAMPNO,MAKETXT=MAKETXT) >>> session.add(record) >>> session.flush() >>> >>> This is not working if using the example set in the url. Is setattr >>> still working.....? What is the proper way to do this.....for SA >>> 0.5.6? >>> >>> SQLAlchemy 0.5 Implementation: >>> >>> class OrmObject(object): >>> >>> def __init__(self, **kw): >>> for key in kw: >>> if not key.startswith('_') and key in self.__dict__: >>> setattr(self, key, kw[key]) >>> >>> def __repr__(self): >>> attrs = [] >>> for key in self.__dict__: >>> if not key.startswith('_'): >>> attrs.append((key, getattr(self, key))) >>> return self.__class__.__name__ + '(' + ', '.join(x[0] + '=' + >>> repr(x[1]) for x in attrs) + ')' >>> >>> Thanks, >>> Lucas >>> >> >> >> >> -- >> Setup CalendarServer for your company. >> http://lucasmanual.com/mywiki/CalendarServer >> Automotive Recall Database - See if you vehicle has a recall >> http://lucasmanual.com/recall >> > > > > -- > Setup CalendarServer for your company. > http://lucasmanual.com/mywiki/CalendarServer > Automotive Recall Database - See if you vehicle has a recall > http://lucasmanual.com/recall > > -- > > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/sqlalchemy?hl=en. > > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
