私のアプリケーションには、ProfileAccount、ProfileLink などのいくつかの子を持つ Profile エンティティがあります。これらは通常、次のようにトランザクションで更新されます。
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 がプロファイルと同じエンティティ グループに属していないためです。同じトランザクションに追加することはできませんが、一方で、これらすべてのログを同じエンティティ グループに配置するのは賢明ではないと思います。必須データではないため、エンティティ (プロファイル)。
私が考えたことの 1 つは、プロファイルの StringList で、ログインごとにクリアされるので、この方法でプロファイルに発生したすべてのものを取得できます。それは良いアプローチだと思いますか、それともこの種の状況に対する他の回避策があると思いますか?
ヒントを事前にありがとう