diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-05-28 11:31:04 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-06-17 13:21:28 +0200 |
commit | 096bf9a3dcee0d72dba4c6c9f3802a02ac6d4d12 (patch) | |
tree | e19f1dfa26f4547001189721a89f0a5cbe036c57 /archaeological_context_records/models.py | |
parent | 7587c316830be2c2866b2feeec4b44d081847338 (diff) | |
download | Ishtar-096bf9a3dcee0d72dba4c6c9f3802a02ac6d4d12.tar.bz2 Ishtar-096bf9a3dcee0d72dba4c6c9f3802a02ac6d4d12.zip |
Fix cache generation for finds and context records
Diffstat (limited to 'archaeological_context_records/models.py')
-rw-r--r-- | archaeological_context_records/models.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index 1b63af51a..ace66aed6 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -293,7 +293,8 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem, 'cached_periods': _("Periods"), 'datings__period__label': _("Periods"), 'datings__period': _("Datings (period)"), - 'detailled_related_context_records': _("Related context records"), + 'detailed_related_context_records': _("Related context records"), + "cached_related_context_records": _("Related context records"), 'operation__code_patriarche': _("Operation (Patriarche code)"), 'operation__common_name': _("Operation (name)"), 'parcel__external_id': _("Parcel (external ID)"), @@ -302,10 +303,11 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem, 'parcel__year': _("Parcel (year)"), 'section__parcel_number': _("Parcel"), 'parcel__cached_label': _("Parcel"), + 'unit__label': _("Context record type"), } CONTEXTUAL_TABLE_COLS = { 'full': { - 'related_context_records': 'detailled_related_context_records' + 'related_context_records': 'cached_related_context_records' } } # statistics @@ -427,7 +429,8 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem, HISTORICAL_M2M = [ 'datings', 'documentations' ] - CACHED_LABELS = ['cached_label', 'cached_periods'] + CACHED_LABELS = ['cached_label', 'cached_periods', + "cached_related_context_records"] history = HistoricalRecords(bases=[HistoryModel]) objects = ExternalIdManager() @@ -516,6 +519,10 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem, _("Cached periods label"), blank=True, null=True, help_text=_("Generated automatically - do not edit") ) + cached_related_context_records = models.TextField( + _("Cached related context records"), blank=True, null=True, + help_text=_("Generated automatically - do not edit") + ) class Meta: verbose_name = _("Context Record") @@ -716,6 +723,9 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem, return " & ".join([dating.period.label for dating in self.datings.all()]) + def _generate_cached_related_context_records(self): + return self.detailed_related_context_records() + def _get_associated_cached_labels(self): from archaeological_finds.models import Find, BaseFind return list(Find.objects.filter(base_finds__context_record=self).all())\ @@ -793,12 +803,12 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem, q = q.filter(**fltr) return q.count() - def detailled_related_context_records(self): + def detailed_related_context_records(self): crs = [] for cr in self.right_relations.all(): crs.append("{} ({})".format(cr.right_record, cr.relation_type.get_tiny_label())) - return " ; ".join(crs) + return " & ".join(crs) def find_docs_q(self): return Document.objects.filter(finds__base_finds__context_record=self) |