0

アプリエンジンデータベースに投稿するデータを含むテーブルビューがあります。テーブル内のエントリを削除するたびに、アプリ エンジン データベース内のアイテムも削除したいと考えています。削除するエントリを確認するにはどうすればよいですか?

私はこれを考えていました:

GAE ストアに保存するすべてのアイテムについて、iPhone 固有のデバイス ID を持つモデルを参照します。GAEストアに保存するすべてのアイテムに対して、iphone dbとapp engine dbのUUIDを挿入します。

したがって、私のクエリは次のようになります。

del item where unique device id = ####
and item UUID = ####

アプリ エンジンにログインしたくないので、一意のデバイス ID を使用しています。

私の唯一の懸念はパフォーマンスです.GAEはデバイスIDとUUIDを検索する必要があります.これが問題になるかどうかはわかりません.

最善の解決策は、db.Key() で削除できる場合ですが、その方法がわかりません。データを GAE に投稿するときに、生成されたキーがわからないためです。

誰かアドバイスをくれませんか?

4

1 に答える 1

1

あなたが提案するアプローチは合理的です。キー名としてUUIDを指定すると、直接削除できます。キー名でエンティティを作成するには、次の手順を実行します。

MyEntity(key_name=a_string, ...)

キー名でエンティティを(最初にフェッチせずに)削除するには、次の手順を実行します。

db.delete(db.Key.from_path("MyEntity", a_string))

UUIDとデバイスIDの両方を持つ必要はありません。UUIDは、すべてのデバイス間で一意性を確保するのに十分です。

于 2009-11-25T23:29:59.067 に答える