gizli wrote: > > Thanks a lot Michael. > > The merge functionality is what I was looking for. This also exposed a > flaw in our model I think. We keep using the auto-increment primary > keys which would make merge() impossible to use in the scenario I was > describing. Right?
autoincrement or not has no bearing upon the operation of merge(). > > >> >> The easiest way to do auto "insert or update" given an object that >> you've loaded from a file is to use merge(): >> >> myobj = session.merge(myobj) >> >> which will do the SELECT for you. If the object is already loaded, no >> SELECT is emitted. >> >> So it follows then that you can SELECT all the rows of the table ahead >> of time, keep them referenced in a collection: >> >> all_objects = session.query(MyStuff).all() >> >> then you can merge() each element you pull from the file as needed, >> and no additional SQL should be emitted to fetch any of it. > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---