iPhoneのテーブルビューは、エントリを削除し、App Engine DBを更新します
-
05-07-2019 - |
質問
App Engineデータベースに投稿するデータを含むテーブルビューがあります。 テーブルのエントリを削除するたびに、App Engineデータベースのアイテムも削除したいと思います。削除するエントリを知るにはどうすればよいですか?
これを考えていた:
GAEストアに保存するすべてのアイテムについて、iphone固有のデバイスIDを持つモデルへの参照を作成します。 GAEストアに保存するすべてのアイテムに対して、iphone db&のUUIDを挿入します。アプリエンジンデータベース。
したがって、クエリは次のようになりますex:
del item where unique device id = ####
and item UUID = ####
App Engineにログインしたくないため、一意のデバイスIDを使用しています。
唯一の懸念事項はパフォーマンスです。GAEはデバイスIDとUUIDを検索する必要があります。これが問題になるかどうかわかりませんか?
最良の解決策は、db.Key()で削除できる場合ですが、GAEにデータを投稿するときに生成されたキーがわからないため、その方法がわかりません。
誰かからアドバイスをいただけますか?
解決
提案するアプローチは合理的です。キー名としてUUIDを指定した場合、それを直接削除できます。キー名を持つエンティティを作成するには、次の手順を実行します。
MyEntity(key_name=a_string, ...)
エンティティをキー名で(最初に取得せずに)削除するには、次のようにします。
db.delete(db.Key.from_path("MyEntity", a_string))
UUIDとデバイスIDの両方を持つ必要はありません-UUIDはすべてのデバイスで一意性を確保するのに十分です。
所属していません StackOverflow