Skip to content

Commit

Permalink
delete
Browse files Browse the repository at this point in the history
  • Loading branch information
raylu committed Sep 25, 2017
1 parent 1d8da83 commit 1b85338
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
5 changes: 5 additions & 0 deletions levelorm/orm.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,11 @@ def save(self) -> None:
keyfield = getattr(self.__class__, self._keyname)
self.db.put(keyfield.serialize_key(self._key), buf.getvalue())

def delete(self) -> None:
''' deletes this instance from the :attr:`db`. no error is raised if the key was not found '''
keyfield = getattr(self.__class__, self._keyname)
self.db.delete(keyfield.serialize_key(self._key))

def __repr__(self) -> str:
args = []
for fieldname in self._fields:
Expand Down
5 changes: 5 additions & 0 deletions tests/test_orm.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,11 @@ def test_basic(self):
dog_after = list(Animal.iter(start='dog'))[0]
assert dog == dog_after

dog.delete()
assert Animal.get('dog') is None

Animal('duck', 'quack', True).delete()

def test_str(self):
a = Animal('sheep', 'baa', False)
assert str(a) == "Animal(name='sheep', onomatopoeia='baa', shouts=False)"
Expand Down

0 comments on commit 1b85338

Please sign in to comment.