我在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 2012-03-07 17:52:49
正好。一旦刪除,您將無法再訪問它。 – aschmid00 2012-03-07 18:29:57