diff options
Diffstat (limited to 'archaeological_operations/models.py')
| -rw-r--r-- | archaeological_operations/models.py | 26 |
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,) |
