diff options
Diffstat (limited to 'archaeological_warehouse/models.py')
-rw-r--r-- | archaeological_warehouse/models.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index b32d608af..ecf33bb87 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -27,7 +27,8 @@ from django.contrib.postgres.indexes import GinIndex from django.core.exceptions import ObjectDoesNotExist from django.core.urlresolvers import reverse from django.db.models import Q, Max, Count -from django.db.models.signals import post_save, post_delete, m2m_changed +from django.db.models.signals import post_save, post_delete, m2m_changed, \ + pre_delete from django.template.defaultfilters import slugify from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy @@ -1368,7 +1369,23 @@ def container_post_save(sender, **kwargs): loca.save() +def container_pre_delete(sender, **kwargs): + instance = kwargs["instance"] + q = Container.objects.filter( + container_tree_child__container_parent=instance) + q.update(cached_division="") + + +def container_post_delete(sender, **kwargs): + instance = kwargs["instance"] + q = Container.objects.filter(cached_division="", location=instance.location) + for c in q.all(): + c.save() + + post_save.connect(container_post_save, sender=Container) +pre_delete.connect(container_pre_delete, sender=Container) +post_delete.connect(container_post_delete, sender=Container) m2m_changed.connect(document_attached_changed, sender=Container.documents.through) |