2012-03-08 4 views
1

두 개의 Google App Engine 데이터 저장소 결과를 결합하려고합니다. 왜냐하면 저는 템플릿에 함께 나열하기를 원하기 때문입니다. 예를 들어Google App Engine 데이터 저장소 결과 두 개를 결합 하시겠습니까?

: other_user_answers = UserAnswer.gql ("사용자 WHERE = 1"user.key는()). : 저 (500) my_answers = UserAnswer.gql ("사용자 1 ="페치. key()). fetch (500)

question.key(). id()를 기반으로이 결과를 결합하고 싶습니다. 내가 템플릿에이 같은 일을 할 수 있도록 :

{% for other_user_answer in other_user_answers %} 
    Question #{{other_user_answer.question.key.id}}<br> 
    User: {{other_user_answer.answer}} 
    Me: {{other_user_answer.my_answer}} 
{% endfor %} 

을 나는 여부를 그에게 가장 좋은 방법을 설명하고있어 잘 모르겠어요! 그러나 그 라인을 따라 뭔가.

또한 Google App Engine 데이터 저장소 결과 (목록, dict 등)가 무엇인지 다시는 확신 할 수 없으므로 함께 작업하는 것이 확실하지 않습니다.

EDIT 자세한 설명 : 사용자는 여러 가지 질문에 답할 것입니다. 그런 다음 사이트에 로그인하여 다른 사용자의 페이지 (지미)로 이동합니다. 지미의 답변을 모두 그의 옆에있는 모든 답변과 함께 나열하고 싶습니다. 그래서 나는 UserAnswer 테이블을 뽑아 내게 모든 대답을 얻었습니다 .... 그리고 나서 지미에게. 이제 두 세트의 결과가 있습니다. 질문 ID를 기반으로 질문을하고 싶습니다.

Like :

좋아하는 색상? 나 : 빨강 지미 : 파랑

좋아하는 아이스크림? 나 : 초콜릿 지미 : 바닐라

+0

'결합'이란 정확히 무엇을 의미합니까? 'other_user_question'의 모든 인스턴스는'my_answer'를 포함하고'my_questions'는 무엇을할까요? – SuperSaiyan

+0

더 잘 설명하려고 업데이트했습니다. – TylerW

답변

3

가장 좋은 해결책은 fetch() 작업 중 하나에서 반환 한 목록을 질문 ID에 의해 지정된 사전으로 바꾸는 것입니다. 그런 다음 다른 목록을 살펴보고 누락 된 항목 (예 : 지미가 대답했지만 질문하지 않은 항목)을 처리하고 추가 속성 (예 : my_answer)에 저장하여 질문 ID를 기반으로 사전의 값을 가져옵니다.). 그런 다음 해당 목록을 템플릿에 전달할 수 있습니다.

+0

굉장합니다, 고마워요. * 시도해보기 * – TylerW

0

Gql(...).fetch(...) 반환하면 개체의 목록을. 당신이 질문의 구조를 설정하고 좀 더 설명하지 않는 한, 당신이 일하는 방식이 맞는지는 잘 모르겠습니다.

아직까지는 콘텐츠에 대해 매우 확신하지 않는 한 브라우저로 보내는 콘텐츠를 HTML 이스케이프 처리하면 더 좋을 것입니다. autoescape 태그 등을 사용할 수 있습니다. {{my_variable|escape}}

+0

나는 모든 것을 자동으로 이스케이프하도록 설정했다고 생각한다. – TylerW

관련 문제