diff --git a/src/async_storages/integrations/sqlalchemy.py b/src/async_storages/integrations/sqlalchemy.py index 8ecd6be..80eb082 100644 --- a/src/async_storages/integrations/sqlalchemy.py +++ b/src/async_storages/integrations/sqlalchemy.py @@ -10,7 +10,7 @@ class FileType(TypeDecorator[Any]): """ SQLAlchemy column type for representing stored files. - This type integrates with :class:`~async_storages.base.BaseStorage` + This type integrates with :class:`~async_storages.BaseStorage` to automatically wrap database values (file names) into :class:`~async_storages.StorageFile` objects when queried. @@ -34,9 +34,9 @@ def process_bind_param(self, value: Any, dialect: Dialect) -> str: if isinstance(value, str): return value - name = getattr(value, "name", None) - if name: - return name + filename = getattr(value, "filename", None) + if filename: + return filename return str(value) @override @@ -56,7 +56,7 @@ class ImageType(FileType): database values (image file names) into :class:`~async_storages.StorageImage` objects when queried. - It integrates with a configured :class:`~async_storages.base.BaseStorage` + It integrates with a configured :class:`~async_storages.BaseStorage` backend to provide convenient access to image operations such as resizing, thumbnail generation, or metadata retrieval. @@ -69,7 +69,7 @@ class ImageType(FileType): @override def process_result_value( self, value: Any | None, dialect: Dialect - ) -> StorageFile | None: + ) -> StorageImage | None: if value is None: return None return StorageImage(name=value, storage=self.storage)