kgabryje commented on a change in pull request #17287:
URL: https://github.com/apache/superset/pull/17287#discussion_r743005926
##########
File path: superset/connectors/base/models.py
##########
@@ -317,11 +317,23 @@ def data_for_slices(self, slices: List[Slice]) ->
Dict[str, Any]:
if "column" in filter_config
)
- column_names.update(
- column
- for column_param in COLUMN_FORM_DATA_PARAMS
- for column in utils.get_iterable(form_data.get(column_param)
or [])
- )
+ # legacy charts don't have query_context charts
+ if slc.query_context:
+ query_context = slc.get_query_context()
+ column_names.update(
+ [
+ column
+ for query in query_context.get("queries", [])
+ for column in query.get("columns", [])
+ ]
+ or []
+ )
+ else:
+ column_names.update(
+ column
+ for column_param in COLUMN_FORM_DATA_PARAMS
+ for column in
utils.get_iterable(form_data.get(column_param) or [])
+ )
Review comment:
That was actually my first solution 😄 But @villebro suggested that I use
columns in query_context instead, so that the solution is more generic and
future proof - if in the future we add another chart that uses different field
names in form data for columns, this solution will handle it correctly
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]