访问Appengine NDB中的已删除实体

2024-03-28 11:32:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Appengine项目中使用NDB。我正在使用_post_delete_钩子在删除某些实体后执行一些操作。在这个方法中我有钥匙。但当我这么做的时候钥匙。得到()我出错了。 下面是一些示例代码。在

[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


Tags: keyfrompyimportmodelsdefdeletepost