diff options
Diffstat (limited to 'doc/build/changelog/unreleased_20/9298.rst')
-rw-r--r-- | doc/build/changelog/unreleased_20/9298.rst | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/doc/build/changelog/unreleased_20/9298.rst b/doc/build/changelog/unreleased_20/9298.rst new file mode 100644 index 000000000..f9150eb3b --- /dev/null +++ b/doc/build/changelog/unreleased_20/9298.rst @@ -0,0 +1,17 @@ +.. change:: + :tags: usecase, orm + :tickets: 9298 + + The :meth:`_orm.Session.refresh` method will now immediately load a + relationship-bound attribute that is explicitly named within the + :paramref:`_orm.Session.refresh.attribute_names` collection even if it is + currently linked to the "select" loader, which normally is a "lazy" loader + that does not fire off during a refresh. The "lazy loader" strategy will + now detect that the operation is specifically a user-initiated + :meth:`_orm.Session.refresh` operation which named this attribute + explicitly, and will then call upon the "immediateload" strategy to + actually emit SQL to load the attribute. This should be helpful in + particular for some asyncio situations where the loading of an unloaded + lazy-loaded attribute must be forced, without using the actual lazy-loading + attribute pattern not supported in asyncio. + |