Noting a change in behavior, in the old code passing something which evaluates to False (a empty string, an empty list etc) as a value for filter_operator would result in a logical_operator of "and", in the new code it would appear to raise an exception.