From d988d661645a33158fcc975558fed8d5b355e3f5 Mon Sep 17 00:00:00 2001 From: IAlwaysBeCoding Date: Thu, 16 Jul 2015 21:52:13 -0400 Subject: [PATCH 1/2] added an extra clean up method after deletion of object --- redisco/models/base.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/redisco/models/base.py b/redisco/models/base.py index 3cf70b989..a99ea87ad 100644 --- a/redisco/models/base.py +++ b/redisco/models/base.py @@ -343,7 +343,6 @@ def key(self, att=None): return self._key[self.id][att] else: return self._key[self.id] - def delete(self): """Deletes the object from the datastore.""" pipeline = self.db.pipeline() @@ -352,6 +351,16 @@ def delete(self): pipeline.delete(self.key()) pipeline.execute() + #Clean up procedure used for cleaning up {ModelName}:id + #when there are no objects left inside {ModelName}:all. + #This only occurs when all the objects have been deleted. + #So,{ModelName}:id is left with the the last total count """ + + any_left = redisco.get_client().exists(self._key['all']) + if not any_left: + pipeline.delete(self._key['id']) + pipeline.execute() + def is_new(self): """ Returns True if the instance is new. From 7440bbf55d85162acd6499810c78519b2ff1fe79 Mon Sep 17 00:00:00 2001 From: IAlwaysBeCoding Date: Thu, 16 Jul 2015 22:16:02 -0400 Subject: [PATCH 2/2] added an extra clean up method after deletion of object --- redisco/models/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redisco/models/base.py b/redisco/models/base.py index a99ea87ad..43b3bd921 100644 --- a/redisco/models/base.py +++ b/redisco/models/base.py @@ -356,7 +356,7 @@ def delete(self): #This only occurs when all the objects have been deleted. #So,{ModelName}:id is left with the the last total count """ - any_left = redisco.get_client().exists(self._key['all']) + any_left = redisco.get_client().hexists(name=self._key,key=self._key['all']) if not any_left: pipeline.delete(self._key['id']) pipeline.execute()