2014-02-19 3 views
0

django 템플릿 세트 세트에 액세스 할 수 있습니까?Django 템플릿 세트 집합

즉. a.b_set.c_set.count

그래서 c와 관련된 모든 b 객체와 관련된 모든 c 객체의 수를 얻습니다.

백엔드에서 쿼리를 만들 수 있다는 것을 알고 있습니다. 즉, c.objects.filter (b__a = a)에서 쿼리를 만들 수는 있지만 템플릿에서만 수행하고 싶습니다. 이 "복잡한"논리를 사용할 계획이없는 때문에 가능하지 않을 수 있습니다

건배,

답변

0

개미는 템플릿에서해야 할 일. 보기에서해야합니다. 당신이 얻고 자하는 것이 새로운 쿼리 "per queryset"이기 때문에, 이것은 하나의 라이너가 아닙니다.

예 :

as = a.objects.all() 
for a in as: 
    a.b_c_count = c.objects.filter(b__a=a).count() 

그리고 템플릿에 그런 식으로 그것을 사용 : 당신이 객체가 많은 경우 당신이 시도 할 수 있도록,이 병목이 될 것입니다

a.b_c_count 

extra 메소드를 사용하고 (= a.objects.all(). extra (* parameters)) 또는 원시 SQL을 사용하십시오.