Объединение двух результатов в хранилище данных Google App Engine? - PullRequest
1 голос
/ 08 марта 2012

Я пытаюсь объединить два результата из хранилища данных Google App Engine.Потому что тогда я хочу перечислить их вместе в шаблоне.

Например: other_user_answers = UserAnswer.gql ("WHERE user =: 1", user.key ()). Fetch (500) my_answers = UserAnswer.gql ("ГДЕ пользователь =: 1", me.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 и т. Д.), Поэтому я не совсем уверен, что ядаже работая с.

РЕДАКТИРОВАТЬ для более подробного объяснения: пользователи собираются ответить на кучу вопросов.Затем, когда я захожу на сайт и захожу на страницу другого пользователя (Джимми).Я хочу перечислить все ответы Джимми, а также все мои ответы рядом с ним.Поэтому я вытащил из таблицы UserAnswer и получил все ответы для меня .... а затем для Джимми.Так что теперь у меня есть два набора результатов.Я хочу выплюнуть их как единое целое, основываясь на идентификаторе вопроса.

Как:

Любимый цвет?Я: красный Джимми: синий

Любимое мороженое?Я: Шоколад Джимми: Ваниль

Ответы [ 2 ]

3 голосов
/ 08 марта 2012

Лучшее решение, вероятно, состоит в том, чтобы превратить список, возвращаемый одной из операций fetch (), в диктовку, основанную на идентификаторе вопроса.Затем вы перебираете другой список и извлекаете значение из условия, основываясь на идентификаторе вопроса, следя за тем, чтобы обрабатывать пропущенные записи (например, вопросы, на которые Джимми ответил, но вы этого не сделали), и сохраняете их в дополнительном атрибуте (например, my_answer).).После этого вы можете передать этот список шаблону.

0 голосов
/ 08 марта 2012

Gql(...).fetch(...) возвращает вам список лиц. Я не совсем уверен, что они правильно работают, если вы не изложите структуру Вопроса и не объясните немного подробнее.

Кстати, было бы лучше, если бы вы могли HTML-экранировать контент, который вы отправляете в браузер, если, конечно, вы не уверены в нем. Вы можете использовать тег autoescape или что-то вроде {{my_variable|escape}}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...