diff --git a/src/caosdb/common/models.py b/src/caosdb/common/models.py index c9461b0683f52b0d8230253f12a80f83a637535f..efd4a3e7af55297588bf03f869f18846d991f3f0 100644 --- a/src/caosdb/common/models.py +++ b/src/caosdb/common/models.py @@ -2806,6 +2806,17 @@ class Container(list): this happens, none of them will be deleted. It occurs an error instead. """ + chunk_size = 100 + item_count = len(self) + # Split Container in 'chunk_size'-sized containers (if necessary) to avoid error 414 Request-URI Too Long + if item_count > chunk_size: + for i in range(0, int(item_count/chunk_size)+1): + chunk = Container() + for j in range(i*chunk_size, min(item_count, (i+1)*chunk_size)): + chunk.append(self[j]) + if len(chunk): + chunk.delete() + return self if len(self) == 0: if raise_exception_on_error: