diff options
Diffstat (limited to 'archaeological_finds/models_finds.py')
-rw-r--r-- | archaeological_finds/models_finds.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 455570523..f702c97ea 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -2169,13 +2169,14 @@ class Find( if no_base_finds: return values # by default attach first basefind data - if not filtr or prefix + "base_finds" not in filtr: - bf = self.get_first_base_find() - if not bf: - return values - v = bf.get_values(prefix=prefix, no_values=True, filtr=filtr, **kwargs) - v.update(values) - values = v + bf = self.get_first_base_find() + if not bf: + return values + alt_filtr = [k[len("base_find_"):] for k in filtr if k.startswith("base_find_")] + v = bf.get_values(prefix=prefix, no_values=True, filtr=alt_filtr, **kwargs) + v = dict([('base_find_' + k, v) for k, v in v.items()]) + v.update(values) + values = v kwargs["no_find"] = True values[prefix + "base_finds"] = [ base_find.get_values(no_values=True, filtr=filtr, **kwargs) |