diff --git a/cqlengine/models.py b/cqlengine/models.py index 57a9f2df..4f70c3ee 100644 --- a/cqlengine/models.py +++ b/cqlengine/models.py @@ -513,7 +513,7 @@ class BaseModel(object): def delete(self): """ Deletes this instance """ - self.__dmlquery__(self.__class__, self, batch=self._batch, timestamp=self._timestamp).delete() + self.__dmlquery__(self.__class__, self, batch=self._batch, timestamp=self._timestamp, consistency=self.__consistency__).delete() def get_changed_columns(self): """ returns a list of the columns that have been updated since instantiation or save """ diff --git a/cqlengine/tests/test_consistency.py b/cqlengine/tests/test_consistency.py index 94a236aa..2f54ae24 100644 --- a/cqlengine/tests/test_consistency.py +++ b/cqlengine/tests/test_consistency.py @@ -76,3 +76,19 @@ class TestConsistency(BaseConsistencyTest): args = m.call_args self.assertEqual(ALL, args[0][2]) + + + def test_delete(self): + # ensures we always carry consistency through on delete statements + t = TestConsistencyModel.create(text="bacon and eggs") + t.text = "ham and cheese sandwich" + uid = t.id + + with mock.patch.object(ConnectionPool, 'execute') as m: + t.consistency(ALL).delete() + + with mock.patch.object(ConnectionPool, 'execute') as m: + TestConsistencyModel.objects(id=uid).consistency(ALL).delete() + + args = m.call_args + self.assertEqual(ALL, args[0][2])