Hello, Thx for the answer, thx to Alexandre to translate my mail.
Sorry, i continue in english, i tried to do that at the end of my declaration file : Base.metadata.create_all(engine) import sqlalchemy.orm.query class MyQuery(sqlalchemy.orm.query.Query): def __init__(*arg, **kw): self._populate_existing = True super(MyQuery, self).__init__(*arg, **kw) Session = scoped_session(sessionmaker(autocommit=True, bind=engine)) session = Session() print "Le temps de déclaration SQL ALCHEMY", time.time()-xref Is it correct? i m not very good in subclassing :S It seems to not work. When i add a print in the __init__, i never see it during the execution of my program so MyQuery is not used i think. Can u tell me where should i subclass Query? In the declaration.py? in module sqlalchemy? I tried to add myquery here Session = scoped_session(sessionmaker(autocommit=True, bind=engine, query_cls=MyQuery)) but it does error File "C:\Python25\lib\site-packages\sqlalchemy-0.5.6-py2.5.egg\sqlalchemy\orm\ session.py", line 899, in query return self._query_cls(entities, self, **kwargs) File "Z:\Declaration.py", line 1451, in __init__ self._populate_existing = True NameError: global name 'self' is not defined I can t touch to the sqlalchemy module because the interpreter and libraries are installed on multiple computers which execute one unique code on a shared network path. So it's more easy to change my source code than sqlalchemy code... i just want to change session.query behavior without change the code of sqlalchemy itself, please help me. 2009/9/17 Michael Bayer <mike...@zzzcomputing.com> > > Alexandre Conrad wrote: > > > > Christian, > > > > 2009/9/17 Christian Démolis <christiandemo...@gmail.com>: > >> Bonjour, > >> > >> Tu es français je pense au vu de ton prénom. > >> Je continue donc en français. > > > > Nice guess. > > > > I understand it feels more comfortable writing in French rather than > > in English, but many people are reading this list (or is only Mike > > doing support? ;) ) and may be interested at the topic. And more eyes > > and brains may answer your question. So please keep conversations on > > this list to its native language - English. If you really want to > > switch to a non-English language with someone particular, please > > exchange off-list, but I believe you'll dramatically reduce your > > chances of solving your problem. > > > > So for the record, you were explaining that you have 25000 lines of > > code and you'd like to avoid to add refresh or > > session.query().populate_existing() all around the place. You have > > attempted to override the query method but couldn't make it. You have > > pointed out the PreFilteredQuery > > http://www.sqlalchemy.org/trac/wiki/UsageRecipes/PreFilteredQuery but > > was unsuccessful achieving what you wanted. > > > > Sorry, maybe someone else can help you there. I haven't played with > > Query overriding myself. > > a Query subclass which just says > > def __init__(*arg, **kw): > self._populate_existing = True > super(MyQuery, self).__init__(*arg, **kw) > > should do it.... > > > > > > > > > Alex > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---