The documentation <http://docs.sqlalchemy.org/en/latest/orm/session.html> doesn't seem to be 100% clear on this point: if you close() a session, can you continue to use it as if it were a fresh session? (Unlike say a closed filehandle)
In other words, in a non-threaded application, is this a valid pattern? Session = sessionmaker(bind=engine) session = Session() def my_request(): # Each request uses the same session object but cleans it up at the end try: .... finally: session.close() As opposed to: def my_request(): # Each request uses a separate session object session = Session() try: .... finally: session.close() The reason for asking is that there are times where it would be more convenient to create a single session up-front and use it where required, closing at the end of each unit of work, than have to pass around a new session through multiple levels of function calls. In particular, flask-sqlalchemy wants to create a single session (albeit a scoped session). Hence if I want to use the same models in non-Flask code, I need to reference that session and just close it at the end of each unit of work, rather than create a fresh session each time. Thanks, Brian. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- 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 https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.