summaryrefslogtreecommitdiff
path: root/archaeological_finds/models_finds.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/models_finds.py')
-rw-r--r--archaeological_finds/models_finds.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index c7065166e..bab3dae9f 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -712,11 +712,15 @@ class FindBasket(Basket, MainItem, ValueGetter):
)
def get_values(self, prefix='', no_values=False, filtr=None, **kwargs):
+ base_exclude = kwargs["exclude"][:] if "exclude" in kwargs else []
+ base_exclude.append(prefix + "items")
+ kw = kwargs.copy()
+ kw["exclude"] = base_exclude
values = super(FindBasket, self).get_values(
- prefix=prefix, no_values=no_values, filtr=filtr, **kwargs)
+ prefix=prefix, no_values=no_values, filtr=filtr, **kw)
if not filtr or prefix + "items" in filtr:
values[prefix + "items"] = [
- item.get_values(no_values=True, filtr=None, **kwargs)
+ item.get_values(no_values=True, filtr=filtr, **kwargs)
for item in self.items.distinct().all()
]
return values
@@ -1529,11 +1533,11 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem,
'remarkabilities', 'communicabilities', 'preservation_to_considers',
'alterations', 'alteration_causes', "cultural_attributions"
]
- GET_VALUES_EXTRA_TYPES = (
+ GET_VALUES_EXTRA_TYPES = ValueGetter.GET_VALUES_EXCLUDE_FIELDS + [
'material_types', 'object_types', 'integrities',
'remarkabilities', 'communicabilities', 'preservation_to_considers',
'alterations', 'alteration_causes'
- )
+ ]
CACHED_LABELS = ['cached_label', 'cached_periods',
'cached_object_types', 'cached_materials']
objects = UUIDModelManager()