Проблема сортировки IntegerProperty в Google App Engine - PullRequest
1 голос
/ 08 октября 2010

http://code.google.com/appengine/articles/update_schema.html

Попытка решить эту проблему для небольшого обновления через мое веб-приложение. Единственное отличие состоит не в сортировке по StringProperty, как показано в примере, в котором я использую IntegerProperty.

Независимо от того, в какую сторону я поворачиваю запрос, я не могу заставить его правильно ответить на мои фильтры.

bfid = self.request.get("bfid", None)
if bfid == None:
  q = Course.all()
  q.order("-bfid")
  result = q.get()
  bfid = result.bfid

q = Course.all()
q.filter("bfid <=", bfid)
q.order("-bfid")
results = q.fetch(limit=2)

for result in results:
  print result.bfid

Неважно, что такое bfid, скажем, 10, два результата, которые он возвращает, это 61, 62, которые являются самыми большими числами в наборе.

Что я сделал не так ???

1 Ответ

1 голос
/ 08 октября 2010

Вам необходимо конвертировать bfid в int; self.request.get () возвращает строку.

У вас также есть проблема с вашей логикой; если bfid равно None, запрос будет выполнен дважды, во второй раз со всеми результатами, меньшими или равными None. (Это не то, что вызывает вашу проблему здесь.)

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