在我的應用程序有一個檔案實體,其中有一些孩子,像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,它會在每次登錄時清除,所以這樣我就可以擁有發生在配置文件中的所有事情。你認爲這是一個不錯的方法,或者對於這種情況還有其他解決方法?
預先感謝任何提示