X-Git-Url: https://plomlompom.com/repos/%7B%7B%20web_path%20%7D%7D/decks/%7B%7Bdeck_id%7D%7D/cards/%7B%7Bcard_id%7D%7D/static/tasks?a=blobdiff_plain;f=plomtask%2Fdb.py;h=385e79855286c45087537b3b63b8b024fd553ca0;hb=1e4c7cd5cde09a5c58bc601cae3f5a49eb615399;hp=3917ce0558e3f7deb1f917a07eb5dd4df7b279e6;hpb=eba83bdbf91206ad3af19810f27ca6e24e484555;p=plomtask diff --git a/plomtask/db.py b/plomtask/db.py index 3917ce0..385e798 100644 --- a/plomtask/db.py +++ b/plomtask/db.py @@ -315,7 +315,13 @@ class BaseModel(Generic[BaseModelId]): @classmethod def empty_cache(cls) -> None: - """Empty class's cache.""" + """Empty class's cache, and disappear all former inhabitants.""" + # pylint: disable=protected-access + # (cause we remain within the class) + if hasattr(cls, 'cache_'): + to_disappear = list(cls.cache_.values()) + for item in to_disappear: + item._disappear() cls.cache_ = {} @classmethod