diff options
Diffstat (limited to 'archaeological_finds/models_finds.py')
-rw-r--r-- | archaeological_finds/models_finds.py | 12 |
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() |