Skip to content

Commit 1e5afa5

Browse files
Fix Part.delete to pass through kwargs to Table.delete
Allow passing transaction, safemode, and force_masters kwargs to Part.delete() so users can nest Part deletions within larger transactions. Fixes #1276 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent f89be6f commit 1e5afa5

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/datajoint/user_tables.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -205,12 +205,21 @@ class Part(UserTable, metaclass=PartMeta):
205205
+ ")"
206206
)
207207

208-
def delete(self, force=False):
208+
def delete(self, force=False, **kwargs):
209209
"""
210-
unless force is True, prohibits direct deletes from parts.
210+
Delete from a Part table.
211+
212+
Args:
213+
force: If True, allow direct deletion from Part table.
214+
If False (default), raise an error.
215+
**kwargs: Additional arguments passed to Table.delete()
216+
(transaction, safemode, force_masters)
217+
218+
Raises:
219+
DataJointError: If force is False (direct Part deletes are prohibited)
211220
"""
212221
if force:
213-
super().delete(force_parts=True)
222+
super().delete(force_parts=True, **kwargs)
214223
else:
215224
raise DataJointError("Cannot delete from a Part directly. Delete from master instead")
216225

0 commit comments

Comments
 (0)