summaryrefslogtreecommitdiff
path: root/archaeological_operations/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/models.py')
-rw-r--r--archaeological_operations/models.py26
1 files changed, 24 insertions, 2 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index 8401501b3..609f7b229 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -372,6 +372,7 @@ class ArchaeologicalSite(
"reference",
"name",
"cached_towns_label",
+ "cached_types",
"cached_periods",
"cached_remains",
]
@@ -380,6 +381,7 @@ class ArchaeologicalSite(
"cached_towns_label": _("Towns"),
"cached_periods": _("Periods"),
"cached_remains": _("Remains"),
+ "cached_types": _("Types"),
}
LONG_SLUG = "archaeologicalsite"
@@ -432,6 +434,7 @@ class ArchaeologicalSite(
"cultural_attributions",
"towns",
"collaborators",
+ "types"
]
DATED_FIELDS = BaseHistorizedItem.DATED_FIELDS + ["sinking_date"]
@@ -583,6 +586,7 @@ class ArchaeologicalSite(
"cached_towns_label",
"cached_periods",
"cached_remains",
+ "cached_types",
]
DOWN_MODEL_UPDATE = ["context_records"]
@@ -724,6 +728,12 @@ class ArchaeologicalSite(
default="",
help_text=_("Generated automatically - do not edit"),
)
+ cached_types = models.TextField(
+ _("Cached types label"),
+ blank=True,
+ default="",
+ help_text=_("Generated automatically - do not edit"),
+ )
history = HistoricalRecords(bases=[HistoryModel])
@@ -943,10 +953,22 @@ class ArchaeologicalSite(
return self.towns_label() or "-"
def _generate_cached_remains(self):
- return " & ".join([str(remain) for remain in self.remains.all()]) or "-"
+ q = self.remains
+ if not self.remains.exists():
+ return "-"
+ return " & ".join(list(q.values_list("label", flat=True)))
def _generate_cached_periods(self):
- return " & ".join([str(period) for period in self.periods.all()]) or "-"
+ q = self.periods
+ if not self.periods.exists():
+ return "-"
+ return " & ".join(list(q.values_list("label", flat=True)))
+
+ def _generate_cached_types(self):
+ q = self.types
+ if not self.types.exists():
+ return "-"
+ return " & ".join(list(q.values_list("label", flat=True)))
def natural_key(self):
return (self.reference,)