diff options
Diffstat (limited to 'archaeological_operations/models.py')
-rw-r--r-- | archaeological_operations/models.py | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index c6bc25615..035ab74e2 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -610,8 +610,7 @@ class ArchaeologicalSite( @property def finds(self): - from archaeological_finds.models import Find - + Find = apps.get_model("archaeological_finds", "Find") return Find.objects.filter( base_finds__context_record__archaeological_site__pk=self.pk ) @@ -684,7 +683,7 @@ class ArchaeologicalSite( @classmethod def get_query_owns(cls, ishtaruser): - from archaeological_warehouse.models import Warehouse + Warehouse = apps.get_model("archaeological_warehouse", "Warehouse") q = ( cls._construct_query_own( @@ -1628,14 +1627,22 @@ class Operation( if filtr and "uuid" not in filtr: filtr.append("uuid") containers = [] - if (not filtr or (f"{prefix}containers" in filtr or f"{prefix}all_containers" in filtr)): + if (not filtr or ( + f"{prefix}containers" in filtr or f"{prefix}all_containers" in filtr)) and ( + f"{prefix}containers" not in exclude + ): containers = self.get_containers_values(filtr, exclude) values[f"{prefix}containers"] = containers[:] document_containers = [] - if not filtr or (f"{prefix}document_containers" in filtr or f"{prefix}all_containers" in filtr): + if (not filtr or ( + f"{prefix}document_containers" in filtr or f"{prefix}all_containers" in filtr)) and ( + f"{prefix}documents_containers" + ): document_containers = self.get_document_containers_values(filtr, exclude) values[f"{prefix}document_containers"] = document_containers[:] - if not filtr or f"{prefix}all_containers" in filtr: + if (not filtr or f"{prefix}all_containers" in filtr) and ( + f"{prefix}all_containers" not in exclude + ): values[f"{prefix}all_containers"] = containers[:] current_ids = [container["uuid"] for container in containers] for container in document_containers: @@ -1727,13 +1734,11 @@ class Operation( return " ; ".join([town.name for town in self.towns.all()]) def has_finds(self): - from archaeological_finds.models import BaseFind - + BaseFind = apps.get_model("archaeological_finds", "BaseFind") return BaseFind.objects.filter(context_record__operation=self).count() def finds(self): - from archaeological_finds.models import BaseFind - + BaseFind = apps.get_model("archaeological_finds", "BaseFind") return BaseFind.objects.filter(context_record__operation=self) def get_reference(self, full=False): @@ -1872,8 +1877,7 @@ class Operation( return dct def context_record_relations_q(self): - from archaeological_context_records.models import RecordRelations as CRRL - + CRRL = apps.get_model("archaeological_context_records", "RecordRelations") return CRRL.objects.filter(left_record__operation=self) def context_record_docs_q(self): @@ -2052,7 +2056,7 @@ class Operation( @classmethod def get_query_owns(cls, ishtaruser): - from archaeological_warehouse.models import Warehouse + Warehouse = apps.get_model("archaeological_warehouse", "Warehouse") q = ( cls._construct_query_own( @@ -2160,8 +2164,7 @@ class Operation( return self._get_or_set_stats("_nb_finds", update) def _nb_finds(self): - from archaeological_finds.models import Find - + Find = apps.get_model("archaeological_finds", "Find") q = Find.objects.filter( base_finds__context_record__operation=self, upstream_treatment_id__isnull=True, @@ -2175,7 +2178,7 @@ class Operation( ) def _nb_finds_by_material_type(self): - from archaeological_finds.models import Find + Find = apps.get_model("archaeological_finds", "Find") nbs = [] q = ( @@ -2206,7 +2209,7 @@ class Operation( return self._get_or_set_stats("_nb_finds_by_types", update, expected_type=list) def _nb_finds_by_types(self): - from archaeological_finds.models import Find + Find = apps.get_model("archaeological_finds", "Find") nbs = [] q = ( @@ -2238,7 +2241,7 @@ class Operation( ) def _nb_finds_by_periods(self): - from archaeological_finds.models import Find + Find = apps.get_model("archaeological_finds", "Find") nbs = [] q = ( |