dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

[GAE]特定のモデルの全エンティティを削除する方法

開発中にデータを一度クリアしたいけど、特定のモデル以外のエンティティは必要なので残しておきたいとき。

以下のコマンドをインタラクティブコンソール(http://localhost:8000/console)で実行すればよい。

from google.appengine.ext import ndb

ndb.delete_multi([モデル名].query().fetch(keys_only=True))
  • [モデル名].query()で全取得
  • ndb.delete_multi(キーのリスト)でキーにマッチするエンティティをまとめて削除
  • fetch()のオプションkeys_only=Trueを指定することでキーだけ取得

(追記)
db を使ったモデルの場合は以下。

from google.appengine.ext import db

db.delete([モデル名].all())

リファレンス