Python 将密钥与ndb中的KeyProperty进行比较

Python 将密钥与ndb中的KeyProperty进行比较,python,google-app-engine,app-engine-ndb,Python,Google App Engine,App Engine Ndb,我正在尝试对一个键进行比较,但没有得到任何结果 我有一个教程和一个章节模型。章节模型包含一个关键属性类教程。(tutKey=ndb.KeyProperty(kind='Tutorial')) 我发送tutIns.key只是为了测试实例是否正常工作,是的,它返回key(key('Tutorial',1))。另外,如果我只进行查询Chapter.query(),它将按预期返回所有章节 这就是我在章节中存储tutkey的方式: tutID = self.request.cookies.get('tut

我正在尝试对一个键进行比较,但没有得到任何结果

我有一个教程和一个章节模型。章节模型包含一个关键属性类教程。(
tutKey=ndb.KeyProperty(kind='Tutorial')

我发送
tutIns.key
只是为了测试实例是否正常工作,是的,它返回key(
key('Tutorial',1)
)。另外,如果我只进行查询Chapter.query(),它将按预期返回所有章节

这就是我在章节中存储tutkey的方式:

tutID = self.request.cookies.get('tut_id', '')
tutorial = ndb.Key('Tutorial', tutID)
.
.
.

chap = Chapter(tutKey=tutorial, title=title, content=content,
                           note=note, order=order)
chap.put()

在开发控制台中,我可以看到存储在第1章和第2章中的tutkey是相同的键,但该键不等于tutorial键。我以错误的方式创建章节?

此处,您正在将ID转换为int:

tutIns = ndb.Key('Tutorial', int(tutID)).get()
但在这里,您将其用作字符串:

tutID = self.request.cookies.get('tut_id', '')
tutorial = ndb.Key('Tutorial', tutID)

生成的键实例不相等。

此处,您将ID转换为int:

tutIns = ndb.Key('Tutorial', int(tutID)).get()
但在这里,您将其用作字符串:

tutID = self.request.cookies.get('tut_id', '')
tutorial = ndb.Key('Tutorial', tutID)
生成的键实例不相等