Google App Engine: как получить смещение объекта - PullRequest
0 голосов
/ 16 апреля 2011

Я использую Google App Engine в Python.

В моей базе данных есть объект, который содержит оценку пользователя.Поэтому я хотел сделать страницу о рейтинге конкретного пользователя.Для этого мне нужно получить 5 пользователей с более высоким баллом, чем у этого пользователя, и 5 пользователей с более низким баллом, чем у этого пользователя, а также положение этого конкретного пользователя в базе данных.Я мог бы использовать метод cursor (), чтобы получить закодированный курсор.Но я не могу получить 5 сущностей до идентификации пользователя и даже в этом случае, я не могу получить позицию пользователя в базе данных.Может быть, я могу использовать смещение для выполнения запроса, но как получить смещение сущности?

Ответы [ 2 ]

2 голосов
/ 17 апреля 2011

Почему бы не запросить данные дважды? Один раз для пользователей с более высоким баллом, в порядке убывания. Один раз для пользователей с более низким баллом. Получить пять записей в каждом запросе.

0 голосов
/ 18 апреля 2011

Если вам действительно очень нужен абсолютный рейтинг пользователя, вы должны использовать библиотеку app-engine-ranklist .Как и базы данных SQL, в App Engine отсутствует внутреннее понятие «ранг», поскольку результаты можно сортировать несколькими способами, поэтому, если вам это нужно, вам нужно будет реализовать его самостоятельно.

Альтернативно, если вам нужна толькопользователи по обе стороны от текущего ранга пользователя, см. решение Кевина П.

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