Skip to content
Snippets Groups Projects

Set process.element to null on corpus processes before corpus deletion

Merged ml bonhomme requested to merge corpus-delete-process-elements into master
3 files
+ 14
0
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -41,6 +41,10 @@ def corpus_delete(corpus_id: str) -> None:
corpus.top_level_type_id = None
corpus.save(update_fields=["top_level_type_id"])
# Set process.element to NULL in all processes, to avoid IntegrityErrors when deleting elements, as
# elements are deleted before processes.
Process.objects.filter(corpus_id=corpus_id).exclude(element_id=None).update(element_id=None)
# Delete all related objects, bypassing RESTRICTs deletion rules
# and Django's way of loading everything into memory before deleting.
querysets = [
Loading