Skip to content

Commit 2d815f6

Browse files
authored
Skip null check for batch delete (#283)
1 parent a7d0150 commit 2d815f6

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

pynamodb/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1186,7 +1186,7 @@ def _get_keys(self):
11861186
"""
11871187
Returns the proper arguments for deleting
11881188
"""
1189-
serialized = self._serialize()
1189+
serialized = self._serialize(null_check=False)
11901190
hash_key = serialized.get(HASH)
11911191
range_key = serialized.get(RANGE, None)
11921192
hash_keyname = self._get_meta_data().hash_keyname

pynamodb/tests/test_model.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -837,6 +837,20 @@ def test_delete(self):
837837
args = req.call_args[0][1]
838838
deep_eq(args, params, _assert=True)
839839

840+
def test_delete_doesnt_do_validation_on_null_attributes(self):
841+
"""
842+
Model.delete
843+
"""
844+
with patch(PATCH_METHOD) as req:
845+
req.return_value = CAR_MODEL_TABLE_DATA
846+
CarModel('foo').delete()
847+
848+
with patch(PATCH_METHOD) as req:
849+
req.return_value = CAR_MODEL_TABLE_DATA
850+
with CarModel.batch_write() as batch:
851+
car = CarModel('foo')
852+
batch.delete(car)
853+
840854
def test_update(self):
841855
"""
842856
Model.update

0 commit comments

Comments
 (0)