2017-10-04 5 views
0

Dans mes modèles, il existe 2 millions de lignes et je demande cela en fonction d'une plage de dates. Lorsque vous définissez une limite à environ 100-1000 lignes, la requête s'exécute mais lorsque le nombre de lignes est par exemple 100k alors la requête ne semble pas courir.Max files un modèle django peut récupérer via model.objects.all()

Ma question est, y at-il une limite au nombre de requêtes qu'un modèle django peut faire et si oui, qu'est-ce que c'est?

queryset = Overall.objects.all()[:1000] ## works 
queryset = Overall.objects.all() ## doesnt work 

serializer = OverallSerializer(queryset, many=True) 
data = serializer.data 

Répondre

0

Il n'y a pas de limite pratique, mais vous courrez dans un problème où le résultat étant extraites de la base de données dépasse la mémoire disponible pour le processus. Les curseurs côté serveur et l'itération sont un moyen de contourner cela. Actuellement, les curseurs côté serveur ne sont pas pris en charge de manière native avec l'ORM, voir Django ticket #16614.