select_related 와 prefetch_related 를 써서 쿼리 수를 줄여보았다.
select_related 쿼리셋 메소드를 사용하여 store 와 one-to-one 관계에 있는
address, category, open_status 를
미리 가져와 python 메모리에 caching 해뒀다.
prefetch_related 를 사용하여 one-to-many 관계에 있는 storeimage_set 을 미리가져와 caching 해두었다.
두 메소드의 차이점은 기준이 되는 Entry object 에서 참조하는 모델이 single object 이냐 multiple object 냐의 차이다.
거의 절반으로 쿼리가 줄었다.
지금은 store object 두개에 대해서 for 문을 돌아서 차이가 별로 안나는 것 처럼 보일 수 있지만, 나중에 10개 100 개에 대해 for 문을 돌면 차이가 매우 크게 날 것이다.