|
|
|
|
|
by blattimwind
2879 days ago
|
|
I think it mostly means that identity-mapped objects which may be expired aren't really compatible. Of course, one could always await session.commit()
user.name # BlahError: Object not loaded
# correct
await session.commit()
await user.refresh()
user.name
This might actually make people more actively avoid SELECT n+1, since lazy-loading would error out by default or require an extra await.Another thing that might not be completely obvious, but sessions and their objects (session×objects = transaction state) are never shared between threads, similarly it would be unwise to share them between different asynchronous tasks. |
|