def METHOD_NAME(self, filter, page, **options):
    """
    task
    """
    expression = filter.expression
    if not expression:
        return ListResult(results=[], count=0)
    key_mapping = {
        "task.id": "id",
        "task.owner": "pipeline_instance__creator",  # TODO 优化
        "task._bk_iam_path_": "project__id",
        "task.type": "flow_type",
    }
    converter = PathEqDjangoQuerySetConverter(key_mapping, {"project__id": task_path_value_hook})
    filters = converter.convert(expression)
    queryset = TaskFlowInstance.objects.filter(filters)
    count = queryset.count()
    results = [
        {"id": str(task.id), "display_name": task.name} for task in queryset[page.slice_from : page.slice_to]
    ]
    return ListResult(results=results, count=count)