diff --git a/src/caosdb/common/models.py b/src/caosdb/common/models.py index 39d9e38d5c9d0d943af83e075a3923de2b0d7bd7..c1e0ee39c780b1fdb7ff46c5bbdca8487b82aee5 100644 --- a/src/caosdb/common/models.py +++ b/src/caosdb/common/models.py @@ -2804,6 +2804,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 if len(self) == 0: if raise_exception_on_error: