summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-05-15 10:13:50 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-05-15 10:13:50 +0200
commitfd3ca503d0729cc0b4ec9bed4a8b40d29d879ac6 (patch)
treea923ec552697a230c7ea4dcde6d5b2c460406a7a
parenteb0e6f0a610907c4e3dfcba16eaec8959b504ec8 (diff)
downloadIshtar-fd3ca503d0729cc0b4ec9bed4a8b40d29d879ac6.tar.bz2
Ishtar-fd3ca503d0729cc0b4ec9bed4a8b40d29d879ac6.zip
Pre-delete find: manage tretment already removed (refs #4084)
-rw-r--r--archaeological_finds/models_finds.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index 31ec20785..3e492222d 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -26,6 +26,7 @@ from django.db import connection
from django.db.models import Max, Q
from django.db.models.signals import m2m_changed, post_save, post_delete, \
pre_delete
+from django.core.exceptions import ObjectDoesNotExist
from django.utils.translation import ugettext_lazy as _
from ishtar_common.data_importer import post_importer_action, ImporterError
@@ -1393,10 +1394,16 @@ def pre_clean_find(sender, **kwargs):
if not bf.find.exclude(pk=instance.pk).count():
bf.delete()
- if instance.downstream_treatment:
- # TODO: not managed for now. Raise an error?
- return
- if not instance.upstream_treatment:
+ try:
+ if instance.downstream_treatment:
+ # TODO: not managed for now. Raise an error?
+ return
+ except ObjectDoesNotExist:
+ pass
+ try:
+ if not instance.upstream_treatment:
+ return
+ except ObjectDoesNotExist:
return
instance.upstream_treatment.upstream.clear()
instance.upstream_treatment.downstream.clear()