diff options
Diffstat (limited to 'ishtar_common/views_item.py')
| -rw-r--r-- | ishtar_common/views_item.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 7526edcec..0fe65356b 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -1843,8 +1843,14 @@ def _get_json_stats_optimized( for stat in (stats_modality_1, stats_modality_2): if not stat: continue - if stat.endswith("__year"): - q = q.annotate(**{stat: ExtractYear(stat[: -len("__year")])}) + if stat.endswith("__FILTERyear"): + q = q.annotate(**{stat: ExtractYear(stat[:-len("__FILTERyear")])}) + elif "__splitpart_" in stat: + st, args = stat.split("__splitpart_") + sep, index = args.split("_") + index = int(index) + stat = f"{st}_modality" + q = q.annotate(**{stat: SplitPart(F(st), Value(sep), index)}) value_keys.append(stat) q = q.values(*value_keys) if stats_sum_variable == "pk": @@ -1886,9 +1892,9 @@ def _get_json_stats( if not stat: value_keys.append(stat) continue - if stat.endswith("__year"): - q = q.annotate(**{stat: ExtractYear(stat[:-len("__year")])}) - if "__splitpart_" in stat: + if stat.endswith("__FILTERyear"): + q = q.annotate(**{stat: ExtractYear(stat[:-len("__FILTERyear")])}) + elif "__splitpart_" in stat: st, args = stat.split("__splitpart_") sep, index = args.split("_") index = int(index) |
