2017-10-04 3 views
0

私のモデルのうち、200万行が存在し、これを日付範囲に基づいて照会します。制限を約100〜1000行に設定すると、クエリが実行されますが、行の数が100kの場合、クエリは実行されないようです。djangoモデルがmodel.objects.all()を介して取得できる最大行数

私の質問は、djangoモデルが作成できるクエリの数に制限がありますか、もしあれば、それは何ですか?

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

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

答えて

0

そこには実用的な制限はないのですが、あなたは、データベースからフェッチされて結果がプロセスに使用可能なメモリを超えた問題に実行されます。サーバー側のカーソルと反復はこれを回避する方法です。現在のところ、サーバー側のカーソルはORMでネイティブにサポートされていません。Django ticket #16614を参照してください。