2012-04-19 2 views
3

나는 다음과 같은 내장 모델에 문제가 있습니다.장고 쿼리()

(SQL의 경우) 나는 select * from Toppings t where t.id IN(select topping_id from Pizzas where cook_id = ?) 또는 다른 방법을 사용할 수 있습니다 (확실히 더 효율적입니다 : P). 문제는 페이징과 같은 기본 종속성 때문에 장고 모델을 사용해야한다는 것입니다.

그것이이 변경 모델없이 할 수 있다면 좋을 것 많은 응용 프로그램에서 사용하는 데이터베이스 ...

+1

약간 논외는, 그러나 당신의 일에서 당신을 도울 수 있기 때문에, 당신은 또한 모든 역 링크를 찾을 수 있습니다 예를 들어 특정 객체에 대한 많은 것에서 많은 것 some_topping.pizza_set.all()은 해당 주제를 사용하는 모든 피자를 제공합니다. isinstance (some_topping, Topping) –

답변

4
Topping.objects.filter(pizza__cook=mycook) 
+0

django 1.4에서 소개되었거나 항상 주위에 있었습니까? 관계를 거꾸로 돌아 간다 고요? – dm03514

+1

@ dm03514 아주 오래 전부터 있었어. 적어도 1.0이라고 생각합니다. –

+1

@JoshSmeaton보다 길고, 나는 장고를 0.91부터 사용 해왔다. –