diff options
Diffstat (limited to 'archaeological_warehouse/models.py')
-rw-r--r-- | archaeological_warehouse/models.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index 4b7201bcc..a8a38c34d 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -31,6 +31,7 @@ from django.db.models.signals import post_save, post_delete, m2m_changed from django.template.defaultfilters import slugify from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy +from django.apps import apps from ishtar_common.data_importer import post_importer_action from ishtar_common.model_managers import ExternalIdManager, UUIDModelManager from ishtar_common.models import Document, GeneralType, get_external_id, \ @@ -155,6 +156,28 @@ class Warehouse(Address, DocumentItem, GeoItem, QRCodeItem, DashboardFormItem, return self.name @property + def number_divisions(self): + return Container.objects.filter( + location=self.pk, container_type__stationary=True).count() + + @property + def number_containers(self): + return Container.objects.filter( + location=self.pk, container_type__stationary=False).count() + + @property + def number_finds(self): + Find = apps.get_model("archaeological_finds", "Find") + return Find.objects.filter( + container__location_id=self.pk).count() + + @property + def number_owned_finds(self): + Find = apps.get_model("archaeological_finds", "Find") + return Find.objects.filter( + container_ref__location_id=self.pk).count() + + @property def short_label(self): return self.name |