나는 다음과 같은 모델이있는 경우 :Django의 RelatedManager가 대상 객체에서 조회가 호출 된 객체를 캐시하지 않는 이유는 무엇입니까?
class Fubar(models.Model):
name = models.CharField()
class Related(models.Model):
fubar = models.ForeignKey(Fubar)
내가 .related_set 사용 관련에 액세스하는 경우 ORM 마술 부모 FUBAR 객체를 캐시 것으로 기대 :
3 개 쿼리 결과fubar = Fubar.objects.all()[0]
related = fubar.related_set.all()[0]
related.fubar
, 이 컨텍스트에서 relatedManager를 호출 한 동일한 객체로 related.fubar를 최적화 할 수 있기 때문에 2에서 만 결과를 얻을 것으로 기대합니다.
이것은 django 1.5에서 수정되었습니다. https://docs.djangoproject.com/en/dev/releases/1.5-beta-1/#caching-of-related-model-instances – Darb