Read only the image from the selected cache

Using the instance from the list of cache, the ORM read the image for all the
linked cache which is unnecessary.

Closes #13831
This commit is contained in:
Cédric Krier
2025-01-21 18:35:56 +01:00
parent c8f4d13745
commit b65377e89e
2 changed files with 4 additions and 2 deletions
+2 -1
View File
@@ -158,7 +158,8 @@ class ImageMixin(_ImageMixin):
raise ValueError(f"Invalid size {size}")
for cache in self.cache:
if (cache.width, cache.height) == size:
return cache.image
# re-instantiate to fetch only one image
return cache.__class__(cache.id).image
with Transaction().new_transaction():
cache = self._store_cache(size, self._resize(size))
# Save cache only if record is already committed
+2 -1
View File
@@ -99,7 +99,8 @@ class Avatar(ImageMixin, ResourceMixin, ModelSQL):
raise ValueError("Invalid size")
for avatar in self.cache:
if avatar.size == size:
return avatar.image
# re-instantiate to fetch only one image
return avatar.__class__(avatar.id).image
if not self.image:
return None
if PIL: