no chance :( legacy third party C extension libraries :( On Jun 23, 3:50 pm, "Michael Bayer" <mike...@zzzcomputing.com> wrote: > david.radkow...@googlemail.com wrote: > > > ha! got it! you were right, it's a vendor's python implementation > > problem. the custom python runtime put an instrumentation layer on top > > of other classes and that why it breaks :D > > switched to the genuine python 2.3.5 and now it's fine :) > > so....why not switch to genuine python 2.6 ? :) > > > > > thanks for your input, as you pointed me in the right direction. > > > cheers Michael ! > > > On Jun 22, 9:09 pm, "Michael Bayer" <mike...@zzzcomputing.com> wrote: > >> david.radkow...@googlemail.com wrote: > > >> > Hi > > >> > I'm a bit concerned why the same code works with SA 0.5. Actually when > >> > there is no data in the relation, the query returns an empty list; > >> > however, as soon as I put some data in, I got the error :O > >> > I tried with 0.4.9dev...something as well, the same result though :/ > > >> > Am missing the point here? Do all tables/mappers have to be defined in > >> > the same context/module? > > >> no. As I said, as far as what the stack trace indicates, you are doing > >> something with pickling, direct __dict__ access, or custom > >> instrumentation > >> mods that is not compatible with 0.4. It might be something else too, > >> but > >> none of the sample code you have provided provides any insight into what > >> might be causing the error. you would have to provide a succinct and > >> fully reproducing (read: we can run it here) test case in order to > >> provide > >> more clues. > > >> > Thanks > > >> > On Jun 22, 8:38 pm, "Michael Bayer" <mike...@zzzcomputing.com> wrote: > >> >> that error would have something to do with pickling, direct __dict__ > >> >> access on instances, or playing around with instrumentation > >> extensions. > >> >> > >> >> that's as much as can be said based on what you've given. > > >> >> aside from whatever reasons for using Py2.3, why ever would you go > >> >> straight to 0.4.6 and not 0.4.8 ? > > >> >> david.radkow...@googlemail.com wrote: > > >> >> > Hi > > >> >> > I've got a small problem with my python code proted from 0.5 (p2.5) > >> to > >> >> > 0.4.6 (p2.3). > >> >> > When I try to load query objects from many-to-many relation (mapped > >> >> > via secondary keyword) I get most weird error: > > >> >> > Traceback (most recent call last): > >> >> > File "<string>", line 86, in ? > >> >> > File "X", line 17, in call_from_unix > >> >> > File "X", line 12, in test > >> >> > File > >> "/usr/lib/python2.3/site-packages/SQLAlchemy-0.4.6-py2.3.egg/ > >> >> > sqlalchemy/orm/attributes.py", line 44, in __get__ > >> >> > return self.impl.get(instance._state) > >> >> > File > >> "/usr/lib/python2.3/site-packages/SQLAlchemy-0.4.6-py2.3.egg/ > >> >> > sqlalchemy/orm/attributes.py", line 281, in get > >> >> > return self.set_committed_value(state, value) > >> >> > File > >> "/usr/lib/python2.3/site-packages/SQLAlchemy-0.4.6-py2.3.egg/ > >> >> > sqlalchemy/orm/attributes.py", line 635, in set_committed_value > >> >> > collection.append_without_event(item) > >> >> > File > >> "/usr/lib/python2.3/site-packages/SQLAlchemy-0.4.6-py2.3.egg/ > >> >> > sqlalchemy/orm/collections.py", line 540, in append_without_event > >> >> > getattr(self._data(), '_sa_appender')(item, > >> _sa_initiator=False) > >> >> > AttributeError: 'InstrumentedList' object has no attribute > >> >> > '_sa_appender' > > >> >> > Any idea what is going on? It doesn't happen with sa > 0.5 > > >> >> > Any help will be much appreciated > >> >> > Cheers > > >> >> > The tables look like follows: > >> >> > ------------------------------------------------------------------------------------------------------------------------- > >> >> > import sqlalchemy; > >> >> > import sqlalchemy.orm; > >> >> > import rfang.model.rfablcklstinstr; > >> >> > import rfang.model.rfaruntime; > > >> >> > t_RfaEnvironment = None; > >> >> > t_RfaEnvironment_RfaBlcklstInstr = None; > > >> >> > def initializeTable(metadata): #{{{ > >> >> > global t_RfaEnvironment; > >> >> > global t_RfaEnvironment_RfaBlcklstInstr; > >> >> > if(t_RfaEnvironment == None): > >> >> > t_RfaEnvironment = sqlalchemy.Table("RuntimeConfigType", > >> >> > metadata, > >> >> > sqlalchemy.Column > >> >> > ("id",sqlalchemy.types.Integer,sqlalchemy.schema.Sequence > >> >> > ("id_RuntimeConfigType"),primary_key=True), > >> >> > sqlalchemy.Column("name",sqlalchemy.types.Unicode > >> >> > (10),nullable=False,unique=True), > >> >> > sqlalchemy.Column("filename",sqlalchemy.types.Unicode > >> >> > (100),nullable=False), > >> >> > sqlalchemy.Column("filtername",sqlalchemy.types.Unicode > >> >> > (255),nullable=False), > >> >> > useexisting=True > >> >> > ); > >> >> > rfang.model.rfablcklstinstr.initializeTable(metadata); > >> >> > t_RfaEnvironment_RfaBlcklstInstr = sqlalchemy.Table > >> >> > ("RuntimeConfigType_Blacklist", metadata, > >> >> > sqlalchemy.Column > >> >> > ("runtimeConfigType_id",sqlalchemy.types.Integer,sqlalchemy.ForeignKey > >> >> > ('RuntimeConfigType.id')), > >> >> > sqlalchemy.Column > >> >> > ("blacklist_id",sqlalchemy.types.Integer,sqlalchemy.ForeignKey > >> >> > ('Blacklist.id')), > >> >> > useexisting=True > >> >> > ); > >> >> > return; > >> >> > #def }}} > > >> >> > def initializeMapper(): #{{{ > >> >> > global t_RfaEnvironment; > >> >> > global t_RfaEnvironment_RfaBlcklstInstr; > >> >> > sqlalchemy.orm.mapper( RfaEnvironment, t_RfaEnvironment, > >> >> > properties = { > >> >> > "rfaruntimes" : sqlalchemy.orm.relation > >> >> > (rfang.model.rfaruntime.RfaRuntime,backref="rfaenvironment",cascade="all,delete,delete- > >> >> > orphan"), > >> >> > "rfablacklist" : sqlalchemy.orm.relation > >> >> > (rfang.model.rfablcklstinstr.RfaBlcklstInstr,secondary = > >> >> > t_RfaEnvironment_RfaBlcklstInstr ,backref="rfaenvironments") > >> >> > }); > >> >> > return; > >> >> > #def }}} > > >> >> > class RfaEnvironment(object): > > >> >> > def __init__(self, name=None, filtername=None, filename=None, > >> >> > rfaruntimes=[], rfablacklist=[]): #{{{2 > >> >> > self.name = name; > >> >> > self.filename = filename; > >> >> > self.filtername = filtername; > >> >> > self.rfablacklist = rfablacklist; > >> >> > self.rfaruntimes = rfaruntimes; > >> >> > return; > >> >> > #def }}}2 > > >> >> > #class RuntimeConfigType > >> >> > ------------------------------------------------------------------------------------------------------------------------- > >> >> > import sqlalchemy; > >> >> > import sqlalchemy.orm; > >> >> > import rfang.model.rfaenvironment; > >> >> > import rfang.model.rfarun; > > >> >> > t_RfaSuite = None; > >> >> > t_RfaSuite_RfaEnvironment = None; > > >> >> > def initializeTable(metadata): #{{{ > >> >> > global t_RfaSuite; > >> >> > global t_RfaSuite_RfaEnvironment; > >> >> > if(t_RfaSuite == None): > >> >> > t_RfaSuite = sqlalchemy.Table("RfaSuite",metadata, > >> >> > sqlalchemy.Column > >> >> > ("id",sqlalchemy.types.Integer,sqlalchemy.schema.Sequence > >> >> > ("id_RfaSuite"),primary_key=True), > >> >> > sqlalchemy.Column("name",sqlalchemy.types.Unicode > >> >> > (50),nullable=False), > >> >> > useexisting=True > >> >> > ); > >> >> > rfang.model.rfaenvironment.initializeTable(metadata); > >> >> > t_RfaSuite_RfaEnvironment = sqlalchemy.Table > >> >> > ("RfaSuite_RuntimeConfigType",metadata, > >> >> > sqlalchemy.Column > >> >> > ("RfaSuite_id",sqlalchemy.types.Integer,sqlalchemy.ForeignKey > >> >> > ("RfaSuite.id")), > >> >> > sqlalchemy.Column > >> >> > ("RuntimeConfigType_id",sqlalchemy.types.Integer,sqlalchemy.ForeignKey > >> >> > ("RuntimeConfigType.id")), > >> >> > useexisting=True > >> >> > ); > >> >> > return; > >> >> > #def }}} > > >> >> > def initializeMapper(): #{{{ > >> >> > global t_RfaSuite; > >> >> > global t_RfaSuite_RfaEnvironment; > >> >> > sqlalchemy.orm.mapper(RfaSuite, t_RfaSuite, properties = { > >> >> > "rfaenvironments" : sqlalchemy.orm.relation > >> >> > (rfang.model.rfaenvironment.RfaEnvironment,secondary=t_RfaSuite_RfaEnvironment, > >> >> > backref="rfasuites"), > >> >> > "rfaruns" : sqlalchemy.orm.relation > >> >> > (rfang.model.rfarun.RfaRun,backref="rfasuite",cascade="all,delete,delete- > >> >> > orphan",order_by=rfang.model.rfarun.t_RfaRun.c.id) > >> >> > }); > >> >> > return; > >> >> > #def }}} > > >> >> > class RfaSuite(object): > > >> >> > def __init__(self,name,rfaenvironments = [],rfaruns = []): > >> #{{{2 > >> >> > self.name = name; > >> >> > self.rfaenvironments = rfaenvironments; > >> >> > self.rfaruns = rfaruns; > >> >> > return; > >> >> > #def }}}2 > > >> >> > # class RfaSuite --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@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 -~----------~----~----~----~------~----~------~--~---
[sqlalchemy] Re: sqlalchemy 0.4.6 + python 2.3: many-to-many relation problem
david.radkow...@googlemail.com Tue, 23 Jun 2009 12:28:08 -0700
- [sqlalchemy] sqlalchemy 0.4.6 + python 2.3:... david.radkow...@googlemail.com
- [sqlalchemy] Re: sqlalchemy 0.4.6 + py... Michael Bayer
- [sqlalchemy] Re: sqlalchemy 0.4.6 ... david.radkow...@googlemail.com
- [sqlalchemy] Re: sqlalchemy 0.... Michael Bayer
- [sqlalchemy] Re: sqlalchem... david.radkow...@googlemail.com
- [sqlalchemy] Re: sqla... Michael Bayer
- [sqlalchemy] Re: ... david.radkow...@googlemail.com