File tree Expand file tree Collapse file tree 2 files changed +16
-7
lines changed
Expand file tree Collapse file tree 2 files changed +16
-7
lines changed Original file line number Diff line number Diff line change @@ -219,16 +219,17 @@ def table_name(cls):
219219 else cls.master.table_name + "__" + from_camel_case(cls.__name__)
220220 )
221221
222- def delete(self, force=False):
222+ def delete(self, force=False, **kwargs ):
223223 """
224- unless force is True, prohibits direct deletes from parts.
224+ Unless force is True, prohibits direct deletes from parts.
225+ Accepts any kwargs supported by Table.delete and forwards them to super().delete.
225226 """
226227 if force:
227- super().delete(force_parts=True)
228- else:
229- raise DataJointError(
230- "Cannot delete from a Part directly. Delete from master instead"
231- )
228+ return super().delete(force_parts=True, **kwargs )
229+
230+ raise DataJointError(
231+ "Cannot delete from a Part directly. Delete from master instead"
232+ )
232233
233234 def drop(self, force=False):
234235 """
Original file line number Diff line number Diff line change @@ -36,6 +36,14 @@ def test_stepwise_delete(schema_simp_pop):
3636 not B()
3737 ), "failed to delete from the parent table following child table deletion"
3838
39+ def test_part_delete_forwards_kwargs(schema_simp_pop):
40+ assert not dj.config["safemode"], "safemode must be off for testing"
41+ assert L() and A() and B() and B.C(), "schema population failed"
42+
43+ # Should accept and forward kwargs supported by Table.delete
44+ B.C().delete(force=True, transaction=False)
45+
46+ assert not B.C(), "failed to delete child table with forwarded kwargs"
3947
4048def test_delete_tree_restricted(schema_simp_pop):
4149 assert not dj.config["safemode"], "safemode must be off for testing"
You can’t perform that action at this time.
0 commit comments