villebro commented on a change in pull request #18998:
URL: https://github.com/apache/superset/pull/18998#discussion_r819759406



##########
File path: superset/utils/core.py
##########
@@ -1097,11 +1097,13 @@ def merge_extra_form_data(form_data: Dict[str, Any]) -> 
None:
         {"isExtra": True, **fltr} for fltr in append_adhoc_filters  # type: 
ignore
     )
     if append_filters:
-        adhoc_filters.extend(
-            simple_filter_to_adhoc({"isExtra": True, **fltr})  # type: ignore
-            for fltr in append_filters
-            if fltr
-        )
+        for key, value in form_data.items():
+            if re.match("adhoc_filter.*", key):
+                value.extend(
+                    simple_filter_to_adhoc({"isExtra": True, **fltr})  # type: 
ignore
+                    for fltr in append_filters
+                    if fltr
+                )

Review comment:
       I agree that we should make all these things as explicit as possible, at 
a minimum documenting magic behavior like this. While on this subject, the 
whole notion of `QueryFormData` automatically mapping properties like `metric` 
and `secondary_metric` to `metrics` in `QueryObject` is really opaque, and 
should probably both 1) be more thoroughly documented 2) be phased out in 
coming major versions. But in the short term I propose adding documentation 
around this functionality to at least explain how this stuff works right now.




-- 
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]

Reply via email to