On Fri, Jan 9, 2015 at 1:19 PM, Michael Bayer <mike...@zzzcomputing.com> wrote: > > > Jon Nelson <jnel...@jamponi.net> wrote: > >> I'm having a bit of trouble. >> Let's say I have N primary key IDs for a set of objects. >> I want to load all of those objects into the session, but I'd like that to >> happen all in one query. >> >> dbsess.query(object_type).filter(object_type.primary_key.in_(some_list_of_ids)).all() >> >> # then I made (one or more) new instances using the same primary key as above >> >> new_instance = object_type(....) # NOTE: includes the primary key >> >> dbsess.merge( new_instance ) # this issues another query to load using the >> primary key. >> >> >> Instead of issuing N queries, I'd like to find a way to load the session >> with all of the objects I'm (eventually) going to call merge on, and have >> that happen in just one query if possible. >> >> I tried using merge_result but I'm pretty sure I'm not using it properly. >> > > ok well the first query gives you those objects, in that session, in one > query. i guess you’re trying to move them to a different session for the > purposes of caching.
Partially. Throughout, there is only one session involved. > so you could use either merge() or merge_result() but to avoid any SQL set > load=False. When I tried with load=False, I got an error. I am using 0.9.8. > You can look at the dogpile caching example for an example. I did, and I'm not quite sure what's going on there. -- Jon Software Blacksmith -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.