Django 5.0.x async с необработанным набором запросов и итератором

У меня есть необработанный набор запросов, который возвращает несколько миллионов элементов. На самом деле, я использую функцию iterator() в django для улучшения производительности. Проблема заключается в том, что я хочу сделать функцию, в которой вызывается запрос, асинхронной. Из-за этого я больше не могу сделать Django raw queryset, потому что получаю эту ошибку: django.core.exceptions.SynchronousOnlyOperation: You cannot call this from an async context - use a thread or sync_to_async. Использование sync_to_async делает невозможным использование iterator. Есть функция aiterator(), но она

не работает на сыром наборе запросов. Как я могу использовать итератор с сырым набором запросов в асинхронном контексте?

Код :

    def _get_elements_to_process(self):
        return Elements.objects.raw(
            """
            My query
            """,
        )

    async def fetch_data(self):
        for element in _get_elements_to_process().iterator():
             # make some asynchronous action

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