Skip to content

Commit

Permalink
Fixes bug on not deleting zindices.
Browse files Browse the repository at this point in the history
  • Loading branch information
iamteem committed Jun 4, 2010
1 parent b290737 commit 764d074
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 1 deletion.
2 changes: 1 addition & 1 deletion redisco/models/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ def _delete_from_indices(self):
for index in s.members:
pipe.srem(index, self.id)
for index in z.members:
pipe.srem(index, self.id)
pipe.zrem(index, self.id)
pipe.delete(s.key)
pipe.delete(z.key)
pipe.execute()
Expand Down
29 changes: 29 additions & 0 deletions tests/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,35 @@ def test_indices(self):
self.assertTrue(index in db.smembers(key['_indices']))
self.assertTrue("1" in db.smembers(index))


def test_delete(self):
Person.objects.create(first_name="Granny", last_name="Goose")
Person.objects.create(first_name="Clark", last_name="Kent")
Person.objects.create(first_name="Granny", last_name="Mommy")
Person.objects.create(first_name="Granny", last_name="Kent")

for person in Person.objects.all():
person.delete()

self.assertEqual(0, self.client.scard('Person:all'))

class Event(models.Model):
name = models.Attribute(required=True)
created_on = models.DateField(required=True)

from datetime import date

Event.objects.create(name="Event #1", created_on=date.today())
Event.objects.create(name="Event #2", created_on=date.today())
Event.objects.create(name="Event #3", created_on=date.today())
Event.objects.create(name="Event #4", created_on=date.today())

for event in Event.objects.all():
event.delete()

self.assertEqual(0, self.client.zcard("Event:created_on"))


def test_filter(self):
Person.objects.create(first_name="Granny", last_name="Goose")
Person.objects.create(first_name="Clark", last_name="Kent")
Expand Down

0 comments on commit 764d074

Please sign in to comment.