All, I got it working, and you're both right, of course, the flushing should and ultimately does populate the .id.
In my case, I was flushing two mutually-referential objects of the same type (rows in the same table), appending them to a relationship on an object of another type (another table), and the id from the other table wasn't getting populated, either. I did some research, and carefully reordering my rel.append() and session.flush() statements along with making use of the post_update parameter on the relationship I've gotten it to work. Thanks again for your help and time! Mike ________________________________ From: [email protected] [[email protected]] on behalf of Michael Bayer [[email protected]] Sent: Wednesday, November 06, 2013 4:02 PM To: [email protected] Subject: Re: [sqlalchemy] "Immediate" access to value of a new object's Sequence primary key column? flushing will populate the .id attribute. Set echo=True on your create_engine() and you’ll see this happening. If you’re not seeing it, then perhaps you’re not flushing what you think you are. Provide a fully working sample here if all else fails, we can show you how to make it work. On Nov 6, 2013, at 2:14 PM, Michael Nachtigal <[email protected]<mailto:[email protected]>> wrote: Jonathan, Thank you for your time and reply, but that still does not work for me. Even after adding the object to the session and flush()ing, its id is still None. Thanks, Mike ________________________________ From: [email protected]<mailto:[email protected]> [[email protected]<mailto:[email protected]>] on behalf of Jonathan Vanasco [[email protected]<mailto:[email protected]>] Sent: Wednesday, November 06, 2013 2:01 PM To: [email protected]<mailto:[email protected]> Subject: [sqlalchemy] Re: "Immediate" access to value of a new object's Sequence primary key column? You missed adding the object to the session, before the flush. this should work: new_foo = Foo('red') dbSession.add(new_foo) dbSession.flush() print new_foo.id -- 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 [email protected]<mailto:[email protected]>. To post to this group, send email to [email protected]<mailto:[email protected]>. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/groups/opt_out. -- 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 [email protected]<mailto:[email protected]>. To post to this group, send email to [email protected]<mailto:[email protected]>. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/groups/opt_out. -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/groups/opt_out.
