Как использовать django-filter на RawQuerySet?

У меня возникла проблема. Ошибка заключается в следующем

AttributeError at /tracker/
'RawQuerySet' object has no attribute 'all'

Это потому, что я использую django-filter на сыром наборе запросов из sql запроса (я не могу использовать фильтрацию django)

вот код, с которым у меня возникли проблемы:

def track1(request):
    sql = """
        select 1 as id,
            p.name project,
            i.title issue,
            u.name,
            replace(ROUND(t.time_spent/3600.0, 1)::text, '.', ',') as spent,
            TO_CHAR(t.spent_at + interval '2h', 'dd.mm.yyyy HH24:MI:SS') date_spent, substring(n.note for 300) note
        from issues i
        left join projects p on p.id = i.project_id
        left join timelogs t on t.issue_id = i.id
        left join users u on u.id = t.user_id
        left join notes n on n.id = t.note_id
        where (t.spent_at + interval '2h') between '2022-06-01' and '2022-06-30 23:59:59'
        order by 5, 1, 2
    """

    user_spent_on_project = UsersSpentOnProjects.objects.raw(sql)
    filter = UsersSpentOnProjectsFilter(request.GET, queryset=user_spent_on_project)
    user_spent_on_project = filter.qs

    context = {
        'user_spent_on_project' : user_spent_on_project,
        'filter' : filter
    }

    return render(request, 'trackApp/track1.html', context=context)

Есть ли способ преобразовать этот необработанный набор запросов во что-то, что имеет Model.objects.all()

Вернуться на верх