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 <szybal...@gmail.com> 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 <szybal...@gmail.com> 
> 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 sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.


Reply via email to