The inspect function from SQLAlchemy can be used to inspect ORM instances and determine whether a relationship
(or deferred attribute) has been loaded from the database.
This is commonly done to: - avoid accidentally triggering lazy loads - prevent N+1 queries - ensure it’s safe to serialize ORM objects without hitting the database
Example:
```python from sqlalchemy import create_engine, select, inspect from sqlalchemy.orm import Session
engine = create_engine( "postgresql+psycopg://postgres:postgres@localhost:5432/postgres", echo=True, # log SQL to stdout )
with Session(engine) as session: user = session.scalars(select(User)).one() print(inspect(user).unloaded) # attributes that have not been loaded