나는 (배치 ML을 위해) 5 백만 + 항목의 의 검색어를 처리하고 난 내가 오직 필요로의 검색어을 평가하지 않고의 검색어 (그래서 멀티 스레딩 작업을 수행 할 수 있습니다) 을 분할해야 한 번 쿼리 세트의 각 항목에 액세스하므로 원인을 평가하는 쿼리 세트 항목을 캐시하지 않으려 고합니다.어떻게 평가하지 않고 장고 쿼리 세트를 분할합니까?
항목을 하나의 쿼리 세트로 선택하고 평가하지 않고 분할 할 수 있습니까? 또는이 문제를 해결하기 위해 Limits [: size]를 사용하여 여러 쿼리 세트를 쿼리하여 접근해야합니까?
NB : 내가에서 Iterable을 평가하지 않고의 검색어를 순환 사용할 수 있지만 내 질문은 다음의 각 상에 반복자를 실행하는 (가능한 경우) 내가이 검색어 세트를 분할 할 수있는 방법과 관련이 있음을 알고 분할 된 querysets.
반복하여 작업자 스레드에서 작업을 가져올 수 있습니까? 그것은 Django를 통해 단일 쿼리로 작업하는 것을 상상할 수있는 유일한 방법입니다. (꽤 많이 방금 threadsafe 반복자를 전달합니다.) – Ryan
django 쿼리는 무언가 강제 평가를받을 때까지 평가되지 않습니다. 그리고 그것은 썰어 질 수 있습니다. 따라서 myQuery [1000 : 11000]는 쿼리의 일부분을 매우 깨끗하게 제공합니다. 아니요, 전체를 평가하지는 않습니다. –