diff --git a/superset/common/query_object.py b/superset/common/query_object.py index dad50ea48d..82110878d6 100644 --- a/superset/common/query_object.py +++ b/superset/common/query_object.py @@ -81,7 +81,14 @@ class QueryObject: self.time_shift = utils.parse_human_timedelta(time_shift) self.groupby = groupby or [] - self.metrics = [utils.get_metric_name(metric) for metric in metrics] + # Temporal solution for backward compatability issue due the new format of + # non-ad-hoc metric which needs to adhere to superset-ui per + # https://git.io/Jvm7P. + self.metrics = [ + metric if "expressionType" in metric else metric["label"] # type: ignore + for metric in metrics + ] + self.row_limit = row_limit self.filter = filters or [] self.timeseries_limit = timeseries_limit diff --git a/tests/core_tests.py b/tests/core_tests.py index cc53141b78..566317ecab 100644 --- a/tests/core_tests.py +++ b/tests/core_tests.py @@ -109,7 +109,7 @@ class CoreTests(SupersetTestCase): { "granularity": "ds", "groupby": ["name"], - "metrics": ["sum__num"], + "metrics": [{"label": "sum__num"}], "filters": [], "row_limit": 100, }