У меня есть простой пользовательский интерфейс для взаимодействия с базой данных, настроенной в приложении Google AppEngine с помощью Web2Py . Я использую построитель сетки по умолчанию для его отображения в настройках. Вот моя полная функция контроллера:

@auth.requires_login()
def managePeople():

  # To hide the ID column from being seen on this page
  db.People.id.readable = False
  db.People.id.writable = False

  people = SQLFORM.grid(db.People, paginate = 15)

  # To allow for CSV imports on this page
  if request.vars.csvfile != None:
    db.People.import_from_csv_file(request.vars.csvfile.file)
    response.flash = 'Data uploaded'

  return dict(people=people)

У меня более 15 записей в базе данных, поэтому при рендеринге она правильно отсекает всего 15 человек и отображает следующую кнопку в нижней части сетки. Но когда я нажимаю на нее, я получаю:

Query Not Supported: Unknown configuration option ('cursor')

Ошибка.

Получившийся URL-адрес выглядел примерно так:

http://localhost:8080/peopleapp/ui/managePeople?cursor=Cursor%28%3CCjUSL2oWZGV2fmdyYWRzdHVkZW50Y2hlY2tpbnIVCxIIU3R1ZGVudHMYgICAgICAoAoMGAAgAA%3D%3D%3E%29&page=2&_signature=f3916524c6c595a8f15ed3acc2750b0d49af7702

Я изучил это, и, судя по всему, курсор больше не является вариантом в GAE, согласно этой странице: Класс запросов NDB. Я попытался вручную изменить курсор параметра в URL-адресе на start_cursor, поскольку это один из новых поддерживаемых параметров. После этого он загружается без каких-либо ошибок, но просто снова отображает страницу 1 вместо перехода на вторую страницу.

В этот момент я был полностью сбит с толку и не мог придумать, как продолжить. Любые предложения или помощь приветствуются. Я уверен, что смогу построить что-то вроде сетки, но я действительно не хочу, если у меня будет возможность использовать этот надежный встроенный инструмент.

0
mswjackso 30 Май 2015 в 21:17

1 ответ

Лучший ответ

Эта проблема была устранена путем обновления до Web2Py v2.11.2.

0
mswjackso 7 Июн 2015 в 20:45