diff --git a/cache_manager/_cache.py b/cache_manager/_cache.py index 0309501..b8ead11 100644 --- a/cache_manager/_cache.py +++ b/cache_manager/_cache.py @@ -376,15 +376,17 @@ def update( _log(f'Updating attributes in attr_{actual_typ}') - main = ', '.join( + values = ', '.join( f'{k} = {self._quotes(v, main_fields[k])}' - for k, v in update.items() if k not in main_fields and + for k, v in update.items() + if (k not in main_fields and + str(type(v)) == actual_typ) ) ids = [it.id for it in items()] _log(f'Updating {len(ids)} items') where = f'WHERE id IN ({", ".join(ids)})' - q = f'UPDATE main SET ({main}) {where}' + q = f'UPDATE main SET ({values}) {where}' self._execute(q) diff --git a/cache_manager/_item.py b/cache_manager/_item.py index 46b30ad..40e1559 100644 --- a/cache_manager/_item.py +++ b/cache_manager/_item.py @@ -14,7 +14,7 @@ class CacheItem: Cache item class, stores a single cache item information. """ - def __init__(# TODO:add filename + def __init__( self, key, version: int = 1,