Le tableau en question contient environ dix millions de lignes.
for event in Event.objects.all():
    print eventCela entraîne une augmentation constante de l'utilisation de la mémoire jusqu'à 4 Go environ, auquel cas les lignes s'impriment rapidement. Le long délai avant l'impression de la première ligne m'a surpris - je m'attendais à ce qu'il s'imprime presque instantanément.
J'ai aussi essayé Event.objects.iterator()qui se comportait de la même manière.
Je ne comprends pas ce que Django charge en mémoire ni pourquoi il le fait. Je m'attendais à ce que Django itère à travers les résultats au niveau de la base de données, ce qui signifierait que les résultats seraient imprimés à peu près à un rythme constant (plutôt que tous en même temps après une longue attente).
Qu'est-ce que j'ai mal compris?
(Je ne sais pas si c'est pertinent, mais j'utilise PostgreSQL.)