summaryrefslogtreecommitdiff
path: root/doc/build/changelog/unreleased_20/9298.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/build/changelog/unreleased_20/9298.rst')
-rw-r--r--doc/build/changelog/unreleased_20/9298.rst17
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.
+