def get_by_page(query, page, page_size):
    """
    Осуществляет пагинацию
    :param query: запрос
    :param page: номер страницы
    :param page_size: количество объектов на странице
    :return:
    """
    pager = Paginator(query, page_size)

    try:
        models = pager.page(page)
    except PageNotAnInteger:
        # If page is not an integer, deliver first page.
        models = pager.page(1)
    except EmptyPage:
        # If page is out of range (e.g. 9999), deliver last page of results.
        models = pager.page(pager.num_pages)

    return models