2011-01-21 2 views
0

나는 한 페이지에 두 번 이상 사용되는 'categories'모델이 있습니다. 처음부터 모든 범주를 얻으므로 같은 데이터를 두 번 이상 가져 와서 데이터베이스 쿼리를 줄이고 싶습니다.Django - 쿼리 결과 저장

초기 쿼리가 모든 카테고리를 얻었으므로 모델에이 정보를 저장하는 방법이 있습니까? 나중에 데이터를 다시 참조 할 때 데이터베이스를 다시 히트 할 필요가 없습니까?

아마도 연관 배열이나 카테고리를 저장하는 dict의 종류일까요?

도움을 주시면 감사하겠습니다.

답변

1

장고 querysets는 lazy과 이므로 queryset에 액세스 할 때까지 데이터베이스가 손상되지 않습니다. how queries are evaluated도 살펴보아야합니다.

일부 코드를 게시 할 수있는 경우 최적의 검색어 작성 방법을 찾도록 도와 줄 수 있습니다.

+0

죄송합니다. 코드가 없으므로 일반적인 질문입니다. 블로그를 상상해 보면 오른쪽에 카테고리가 나열되어있을 수 있지만 왼쪽의 블로그에는 각 카테고리의 개별 카테고리가 표시됩니다. 우리는 이미 페이지의 오른쪽에있는 범주 목록을 얻는 데이터베이스를 방문 했으므로 개별 블로그 항목에 대해 다시 그렇게하고 싶지는 않습니다. – Hanpan

+0

@Hanpan -하지만 두 가지 완전히 다른 쿼리이므로 두 가지를 모두 물어보아야하므로 캐시가 어떻게 도움이 될지 잘 모르겠습니다. –

+0

DB를 두 번 치는 것은 문제가되지 않습니다. 큰 목록에있는 모든 블로그를 위해 그것을 명중하는 것은일지도 모르다. 장고가 그렇게하기 위해서는 열심히 (아마 '어리 석음'으로) 힘써야 할 것입니다. – Spacedman