Похоже, что проблема была вызвана серверной частью базы данных (sqlite), которая не поддерживает чтение в чанках.
Я использовал sqlite, так как база данных будет уничтожена после всех вычислений, но кажется, что sqlite не годится даже для этого.
Вот что я нашел в исходном коде django SQL-сервера:
class DatabaseFeatures(BaseDatabaseFeatures):
# SQLite cannot handle us only partially reading from a cursor's result set
# and then writing the same rows to the database in another cursor. This
# setting ensures we always read result sets fully into memory all in one
# go.
can_use_chunked_reads = False