0

キーを比較するクエリを作成しようとしていますが、結果が得られません。

チュートリアルとチャプターモデルがあります。モデルの章には、チュートリアルの種類のkeyPropertyが含まれています。(tutKey = ndb.KeyProperty(kind='Tutorial')

tutID = self.request.cookies.get('tut_id', '')

tutIns = ndb.Key('Tutorial', int(tutID)).get()
chaps = Chapter.query(Chapter.tutKey == tutIns.key)

self.render('editTut.html', chaps=chaps, tutins=tutIns.key)

インスタンスが機能しているかどうかをテストするためだけに送信tutIns.keyしていますが、Key(Key('Tutorial', 1))が返されます。また、Chapter.query()クエリだけを作成すると、期待どおりにすべてのチャプターが返されます。

そして、これは私が章にタッキーを保存する方法です:

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()

開発コンソールで、chapter1とchapter2に格納されているtutkeyが同じキーであることがわかりますが、そのキーはチュートリアルキーと同じではありません。チャプターを間違った方法で作成していますか?

4

1 に答える 1

3

ここでは、IDをintに変換しています。

tutIns = ndb.Key('Tutorial', int(tutID)).get()

しかし、ここでは、それを文字列として使用しています。

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

結果のKeyインスタンスは等しくありません。

于 2013-02-08T21:02:35.530 に答える