'Build list hints based on the context query string.
:param request: the current request
:param supported_filters: list of filters supported, so ignore any
keys in query_dict that are not in this list.'

@classmethod
def build_driver_hints(cls, request, supported_filters):

    hints = driver_hints.Hints()
    if (not request.params):
        return hints
    for (key, value) in request.params.items():
        if ((supported_filters is None) or (key in supported_filters)):
            hints.add_filter(key, value)
            continue
        for valid_key in supported_filters:
            if (not key.startswith((valid_key + '__'))):
                continue
            (base_key, comparator) = key.split('__', 1)
            case_sensitive = True
            if comparator.startswith('i'):
                case_sensitive = False
                comparator = comparator[1:]
            hints.add_filter(base_key, value, comparator=comparator, case_sensitive=case_sensitive)
    return hints
