在我的应用程序有一个档案实体,其中有一些孩子,像ProfileAccount,ProfileLink,等他们通常是在一个事务中更新,像应用程序引擎记录到数据库和实体组
def update_profile(key):
profile = db.get(key)
accounts = db.query("SELECT * FROM ProfileAccount WHERE ANCESTOR IS :1", profile)
# do something with accounts and profile
profile.put()
我使用db.run_in_transaction(update_profile,key)调用它,但是我需要一个管理日志来记录配置文件更新时发生的所有事情,所以我创建了一个通用的AdminLog实体,其中包含对Profile的引用,时间戳和任意字符串数据。这将在稍后处理,以检查自上次用户登录后发生了什么。
问题是因为AdminLog与Profile不属于同一个实体组,所以我不能将它添加到同一个事务中,但是在另一方面,我认为将所有这些设置为不合适记录在同一个实体(配置文件)下,因为它不是重要数据。
我想过的一件事就是配置文件上的StringList,它会在每次登录时清除,所以这样我就可以拥有发生在配置文件中的所有事情。你认为这是一个不错的方法,或者对于这种情况还有其他解决方法?
预先感谢任何提示