From bb12c577feaa09fdbed586ea834a9976560d63cd Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 28 Feb 2022 11:59:18 +0100 Subject: Templates: fix base finds get value from container --- archaeological_warehouse/models.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'archaeological_warehouse') diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index add786012..268a0466a 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -1652,12 +1652,13 @@ class Container( from_find = prefix.startswith("container_") or prefix.startswith( "container_ref_" ) + base_exclude = [prefix + "container", prefix + "container_ref"] if ( (not filtr or prefix + "finds" in filtr) and not from_find and "finds" not in kwargs.get("exclude", []) ): - kwargs["exclude"] = [prefix + "container", prefix + "container_ref"] + kwargs["exclude"] = base_exclude[:] # prevent recursive call values[prefix + "finds"] = [ f.get_values(prefix=prefix, no_values=True, filtr=None, **kwargs) @@ -1684,13 +1685,14 @@ class Container( if bf: cr = bf.context_record if not filtr or cr_in_filter: - kwargs["exclude"] = [prefix + "operation"] + kwargs["exclude"] = base_exclude[:] + [prefix + "operation"] + kwargs["force_no_base_finds"] = True for k, v in cr.get_values( prefix=prefix, no_values=True, filtr=None, **kwargs ).items(): values[prefix + "context_record_" + k] = v if not filtr or operation_in_filter: - kwargs["exclude"] = [prefix + "context_records"] + kwargs["exclude"] = base_exclude[:] + [prefix + "context_records"] for k, v in cr.operation.get_values( prefix=prefix, no_values=True, filtr=None, **kwargs ).items(): -- cgit v1.2.3