嗨,需要有关如何在NDB模型中使用游标功能的建议。我能够在DB模型中使用with_cursor,但在NDB模型中不可用:
def myDBfn(self):
cursor_from_url = self.request.get('cursor')
logging.info("Cursor in start is: {}".format(cursor_from_url))
process_date = util_misc.get_start_date_from_day_param(self)
gql_query_text = 'Select * From DummyTable'
#Execute query
query_o = db.GqlQuery(gql_query_text, process_date)
if cursor_from_url:
query_o.with_cursor(cursor_from_url)
BATCH_SIZE = 500
results = query_o.fetch(BATCH_SIZE)
else:
BATCH_SIZE = 1
results = query_o.fetch(BATCH_SIZE)
if not results:
logging.info("pref_email_update_task: all done")
return
logging.info("Exiting myDBfn....")
return
def myNDBfn(self):
cursor_from_url = Cursor(urlsafe=self.request.get('cursor'))
logging.info("Cursor in start is: {}".format(cursor_from_url))
gql_query_text = 'Select * From TestSequences' #Define query conditions here
#Execute query
query_o = ndb.gql(gql_query_text)
if cursor_from_url:
query_o.fetch_page(5,start_cursor=cursor_from_url)
BATCH_SIZE = 500
results = query_o.fetch(BATCH_SIZE)
else:
BATCH_SIZE = 1
results = query_o.fetch(BATCH_SIZE)
if not results:
logging.info("feed_sequence_update_second_task: all done")
return
logging.info("result is {}".format(results))
logging.info("Exiting myNDBfn....")
return
但是在NDB模型中,cursor_from_url给出了错误:raise datastore_errors.BadValueError('invalid cursor')] >>请指教!!!!!
DB模型嗨,需要有关如何在NDB模型中使用游标功能的建议。我能够在DB模型中使用with_cursor,但在NDB模型中不可用:DB模型def myDBfn(self)... ...
我找到了一个修复程序,但不确定这是否是在NDB Model中使用游标的正确方法:def feed_sequence_update_alltime(self):
编辑-我重写了答案,因为我误读了您的代码。