데이터베이스 테이블에 많은 행이있는 경우 장고의 관리자 목록보기가 다소 느려지는 것으로 알려져 있습니다. Django 페이징 기가 기본적으로 (느린) PostgreSQL COUNT
쿼리를 사용하기 때문입니다.PostgreSQL 카운트 견적으로 장고의 관리자 페이지 속도를 높이려면 어떻게해야합니까?
평가는 우리에게 좋은 것 그것은 훨씬 빠릅니다로서 예 : SELECT reltuples FROM pg_class WHERE relname = "my_table_name"
이이 문제를 해결하는 데 사용할 수 조각이지만, 실제로 그것을 사용하는 방법을 나에게 불분명 : https://djangosnippets.org/snippets/2593/
또한 스 니펫은 필터링 된 결과에서 작동하지 않습니다. 위에 표시된 예상 개수가 여기에서 작동하지 않기 때문입니다. 장고 관리자 페이지에서 필터링 된 목록보기를 빠르게하는 또 다른 방법이 있습니까?
; 하지만 어느 스크립트도 Django 1.10에서 작동하지 않는 것 같습니다. 당신의 결과는'CachingPaginator 객체에 속성이 없습니다 '_count''라는 오류를 반환합니다 - 원본 스크립트는''LargeTableChangeList'객체에 ''query_set ''속성이 없습니다 - 아이디어를 반환합니까? –
업데이트 해 주셔서 감사합니다. 불행히도 여전히 작동하지 않습니다. 'count '의 이름을'count'로 바꿨습니다. 이제 당신과 다른 스 니펫에서'self.count가 None :'인 줄에 대해 Python 객체를 호출하는 동안 '최대 재귀 깊이를 초과했습니다.'오류가 발생합니다. –
나는이 스 니펫을 사용하는 방법에 관한 질문의 원래 범위와는 거리가 멀다 고 생각합니다. 여기서는 적절하게 다루지 않았다고 생각합니다. 이 스 니펫 (질문 자체에 코드 포함)과 함께 새로운 질문을 올리십시오. 오류 추적 – e4c5