def reverse(
    viewname,
    *,
    args=None,
    kwargs=None,
    query_params: Optional[dict[str, str]] = None,
    request: ExtendedRequest | None = None,
) -> str:
    """
    The same as rest_framework's reverse(), but adds custom query params support.
    The original request can be passed in the 'request' parameter to
    return absolute URLs.
    """

    url = _reverse(viewname, args, kwargs, request)

    if query_params:
        return f"{url}?{urlencode(query_params)}"

    return url

    The same as rest_framework's reverse(), but adds custom query params support.
    The original request can be passed in the 'request' parameter to
    return absolute URLs.
    
cvat/apps/engine/utils.py