AppengineプロジェクトでNDBを使用しています。私はいくつかのエンティティが削除された後いくつかの操作を行うために_post_delete_hookを使用しています。この方法で私は鍵を持っています。しかし、key.get()を実行するとエラーが発生します。 ここにいくつかのコード例があります。Appengine NDBの削除されたエンティティへのアクセス
[friends/models.py]
from ndb import models
from users.models import User
class FriendShip(models.Model):
user = models.KeyProperty(kind=User)
friend = models.KeyProperty(kind=User)
@classmethod
def _post_delete_hook(cls, key, future):
signals.post_delete.send(cls, instance=key)
[some-other-filer.py]
# connected method to post_detele_hook
def ended_friendship(sender, **kwargs):
key = kwargs.get('instance', None)
if key:
user = key.get().user # raise a non existing entity error
ヘルプがありますか?
これはフックについての文書です。 http://code.google.com/appengine/docs/python/ndb/entities.html#hooks
削除されていれば、それ以上取得することはできません。なぜあなたはできると思いますか? – geoffspear
。削除されるともうアクセスできなくなります。 – aschmid00