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
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')
> 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.