0

古いデータストアでは、エンティティのキ​​ーを印刷できます

古いデータ ストア

q = MyDB.all()
q.filter("プロパティ", proertyValue)

getKey = q.get()
printKey = getKey.key # これは agxkZXZ-c3l…<br> のような文字列を返します

NDB

q = MyNDB.query()
q = q.filter(MyNDB.property == propertyValue)

getKey = q.get()
printKey = getKey.key # 5066549580791808 のような ID を返しますが、実際にはキー値が必要です

NDB でキー値を出力するにはどうすればよいですか

事前に感謝します。

4

1 に答える 1

2

キーをどのように印刷するかによって異なります。ndb でのキー表現に関しては、いくつかのオプションがあります。

1) 次のように、Web セーフな base64 でエンコードされた文字列のシリアル化を取得します。

printKey = getKey.key.urlsafe()

ドキュメントへのリンク

2) または、DB を使用してそのようなキーの表現が必要な場合は、実際に次を使用して NDB キーから DB キーを取得できますto_old_key()

printKey = getKey.key.to_old_key()

ドキュメントへのリンク

于 2013-10-04T17:28:00.340 に答える