gql_query = "SELECT * FROM Dev_DB"
searchquery = ndb.gql(gql_query)
BATCH_SIZE = 1
results, cursor, more = searchquery.fetch(BATCH_SIZE)
Выполнение вышеуказанного кода приводит к ValueError: need more than 1 value to unpack
.
Ошибка решается, когда я задаю значение BATCH_SIZE
как 3
вместо 1
. Но, тем не менее, он выбирает только первую строку данных вместо всех 3.
Вся функция для справки:
def update_pose_order_db_controller(self):
self.response.headers['Content-type']="text/html"
self.response.out.write("<p>Hello there, Fetching from dev</p>")
cursor_from_url = self.request.get('start_cursor')
logging.info("Cursor in start is: {}".format(cursor_from_url))
gql_query = "SELECT * FROM Dev_DB"
searchquery = ndb.gql(gql_query)
if cursor_from_url:
cursor_from_url = Cursor(urlsafe=cursor_from_url)
BATCH_SIZE = 2
results, cursor, more = searchquery.fetch(BATCH_SIZE, start_cursor = cursor_from_url)
else:
BATCH_SIZE = 1
results, cursor, more = searchquery.fetch(BATCH_SIZE)
self.response.write(results.ans_list)
Проблема возникает в части else
, поскольку на начать, курсор пуст. Любое значение для BATCH_SIZE
> = 3 работает. Код никогда не переходил на if
часть, потому что первоначальная загрузка не была успешной, и, следовательно, курсор не был установлен на URL в качестве параметра.
Я новичок в Google App Engine. Любая помощь приветствуется.