SQLAlchemy ORM – Creating Session
In order to interact with the database, we need to obtain its handle. A session object is the handle to database. Session class is defined using sessionmaker() – a configurable session factory method which is bound to the engine object created earlier.
from sqlalchemy.orm import sessionmaker Session = sessionmaker(bind = engine)
The session object is then set up using its default constructor as follows −
session = Session()
Some of the frequently required methods of session class are listed below −
| Sr.No. | Method & Description |
|---|---|
| 1 |
begin() begins a transaction on this session |
| 2 |
add() places an object in the session. Its state is persisted in the database on next flush operation |
| 3 |
add_all() adds a collection of objects to the session |
| 4 |
commit() flushes all items and any transaction in progress |
| 5 |
delete() marks a transaction as deleted |
| 6 |
execute() executes a SQL expression |
| 7 |
expire() marks attributes of an instance as out of date |
| 8 |
flush() flushes all object changes to the database |
| 9 |
invalidate() closes the session using connection invalidation |
| 10 |
rollback() rolls back the current transaction in progress |
| 11 |
close() Closes current session by clearing all items and ending any transaction in progress |
