diff options
| -rw-r--r-- | archaeological_operations/migrations/0124_archaeologicalsite_cached_types.py | 23 | ||||
| -rw-r--r-- | archaeological_operations/models.py | 26 |
2 files changed, 47 insertions, 2 deletions
diff --git a/archaeological_operations/migrations/0124_archaeologicalsite_cached_types.py b/archaeological_operations/migrations/0124_archaeologicalsite_cached_types.py new file mode 100644 index 000000000..65f526773 --- /dev/null +++ b/archaeological_operations/migrations/0124_archaeologicalsite_cached_types.py @@ -0,0 +1,23 @@ +# Generated by Django 4.2.21 on 2026-03-11 10:32 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_operations', '0123_add_timezone_django_v4'), + ] + + operations = [ + migrations.AddField( + model_name='archaeologicalsite', + name='cached_types', + field=models.TextField(blank=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached types label'), + ), + migrations.AddField( + model_name='historicalarchaeologicalsite', + name='cached_types', + field=models.TextField(blank=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached types label'), + ), + ] 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,) |
