オブジェクトを取得するためにデータストアを使用せずに、参照プロパティのキー文字列を取得するにはどうすればよいですか?
db.ReferenceProperty によってリンクされた 2 つのデータストア オブジェクトがあります。
class Track(db.Model):
name = db.StringProperty()
class Video(db.Model):
name = db.StringProperty()
track = db.ReferenceProperty(Track, collection_name='video-track')
これにより、特定のビデオからリンクされたトラックを簡単に取得できます。
video = Video.get(a_video_key_string)
track = video.track
そして、後ですばやくアクセスできるように、これらを memcache に保存できます。
memcache.add(str(video.key()), video)
memcache.add(str(track.key()), track)
これで、memcache からビデオまたはトラックを取得できます。
video = memcache.get(a_video_key_string)
track = memcache.get(str(video.track.key()))
ただし、これにより、トラックのデータストア要求が生成されますが、望んでいません。具体的には、video.track リクエストは自動的にデータストアを呼び出して Track オブジェクトを取得し、次に key() を呼び出してキー文字列を決定します。
Track オブジェクトを実際にインスタンス化せずに、リンクされた ReferenceProperty からキー値を取得したいと考えています。どうすればこれができるか知っていますか?