我正在编写一个应用程序,向用户显示许多元素,他必须在其中选择一些元素进行处理。当他这样做时,应用程序向 DB 查询这些元素上的其余数据,并在下一页上将它们与完整数据堆叠起来。
我创建了一个 HTML 表单循环,每个元素旁边都有一个复选框,然后在 Python 中检查此复选框的值以获取数据。
即使我只是想查询数据,ndb也不会返回任何内容。
pitemkeys
是要查询的元素的ID。
inpochecks
是复选框变量。
preqitems
是获取数据后保存项目的字典。
下一页什么都不查询,而且是空白的。
评论是我原来想要的代码,因为没有查询任何内容而产生了很多错误。
request_code = self.request.get_all('rcode')
pitemkeys = self.request.get_all('pitemkey')
inpochecks = self.request.get_all('inpo')
preqitems = {}
#idx = 0
#for ix, pitemkey in enumerate(pitemkeys):
# if inpochecks[ix] == 'on':
# preqitems[idx] = Preqitems.get_by_id(pitemkey)
# preqitems[idx].rcode = request_code[ix]
# idx += 1
for ix, pitemkey in enumerate(pitemkeys):
preqitems[ix] = Preqitems.get_by_id(pitemkey)
#preqitems[ix].rcode = request_code[ix]
更新:尝试时
preqitems = ndb.get_multi([ndb.Key(Preqitems, k) for k in pitemkeys])
preqitems返回一个满None
个值的列表,好像数据库无法找到这些键的数据。我检查了密钥,由于某种原因它们是unicode格式,这可能是原因吗?它们看起来像这样。
[u'T-SQ-00301-0002-0001', u'U-T-MT-00334-0007-0002', u'U-T-MT-00334-0008-0001']
答案 0 :(得分:0)
可能你需要这样做:in(potemkin)或str(potemkin),取决于你是使用整数还是字符串id