2011-03-20 4 views
0

봐 : 그것은 가능 (표시) 대답을 그들 제외한 모든 질문의 목록을 반환어떻게이 장고를 작성합니까? 이 장고 코드에서

filtered = Question.objects.filter(children__marked=True).distinct() 
return Question.objects.exclude(id__in=filtered) 

. 나는 그것을 upvoted 대답뿐만 아니라 질문을 반환하도록 노력하고있어. 다음 SQL 조인을 참조하십시오 :

SELECT * from forum_node AS questions 

JOIN forum_node AS answers 
ON 
questions.node_type = 'question' AND 
answers.node_type = 'answer' AND 
answers.parent_id = questions.id 

WHERE 
answers.score > 0 or answers.marked 

이제이 조인을 장고로 어떻게 변환합니까?

답변

1
answered = Question.objects.filter(children__marked=True).distinct() 
unanswered = Question.objects.exclude(id__in=answered) 
upvoted = Question.objects.filter(children__score__gt=0).distinct() 
return unanswered | upvoted 
+0

거의 - 나는 실제로'Question.objects.exclude (id__in = (응답 | upvoted))' – ripper234

관련 문제