summaryrefslogtreecommitdiff
path: root/archaeological_operations
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2024-09-12 12:39:40 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2024-09-13 13:34:27 +0200
commit296ee1376450adf58a040a9da816a100fa5d2ec9 (patch)
treebf7d12d69c5c3b8670f28a58e524200db008e8a0 /archaeological_operations
parentc8a27a7f986adb1e3d0eb911acffa02d030cc85f (diff)
downloadIshtar-296ee1376450adf58a040a9da816a100fa5d2ec9.tar.bz2
Ishtar-296ee1376450adf58a040a9da816a100fa5d2ec9.zip
⚡️ improve performance - external ID: prevent double save - user UPDATE query instead of save - remove dead code "BulkUpdatedItem"
Diffstat (limited to 'archaeological_operations')
-rw-r--r--archaeological_operations/models.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index e847429a0..4220e6cc2 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -2434,12 +2434,19 @@ def operation_post_save(sender, **kwargs):
for parcel in operation.parcels.all():
parcel.copy_to_file()
- # external id update
+ # external id, cached_labels update
for parcel in operation.parcels.all():
- parcel.update_external_id(save=True)
+ cached_label_changed(Parcel, instance=parcel)
+ ContextRecord = apps.get_model("archaeological_context_records", "ContextRecord")
+ BaseFind = apps.get_model("archaeological_finds", "BaseFind")
+ Find = apps.get_model("archaeological_finds", "Find")
for cr in operation.context_record.all():
- cr.update_external_id(save=True)
+ cached_label_changed(ContextRecord, instance=cr)
+ for bf in cr.base_finds.all():
+ cached_label_changed(BaseFind, instance=bf)
+ for f in bf.find.all():
+ cached_label_changed(Find, instance=f)
post_save.connect(operation_post_save, sender=Operation)
@@ -3127,6 +3134,7 @@ def strip_zero(value):
class Parcel(LightHistorizedItem):
+ SLUG = "parcel"
EXTERNAL_ID_KEY = "parcel_external_id"
BASE_SEARCH_VECTORS = [
SearchVectorConfig("section"),