GoogleAppEngineのデータストアのまとめ
Google App Engineのデータストア関連のまとめです。
モデルの定義
class クラス名( db.Model ): プロパティ名 = プロパティクラス …… 必要なだけ記述する ……
参考例:
class UserData(db.Model): name = db.StringProperty(required=True, multiline=False) mail = db.StringProperty(multiline=False) tel = db.StringProperty(multiline=False) text = db.StringProperty(multiline=True)
データの取得
rows = UserData.all() param = {'rows' : rows}
データの取得は、自分で作成したデータモデルクラスのallメソッドを使用します。
このメソッドは、自分で作成したデータモデルクラスのスーパークラスであるdb.Modelに定義されています。
データの保存
name = self.request.get('name') data = UserData(name=name)
self.request.getで値を取得します。データモデルクラスでrequiredに設定した値をモデルクラスのインスタンス生成時の引数に使用します。requiredに設定した値がない場合、引数は不要です。
data.mail = self.request.get('mail') data.tel = self.request.get('tel') data.text = self.request.get('text') data.put()
インスタンスを生成したら、後はそれぞれのプロパティに値を設定します。そして、最後にputメソッドでDBに保存されます。
データの削除
id = long(self.request.get('id')) data = UserData.get_by_id(id) data.delete()
送信されてきたidの値を、get_by_idメソッドでDBからエンティティを取得します。
idは、エンティティがDB登録された際に自動的に付与されるインクリメント値です。
エンティティを取得したら、deleteメソッドで削除完了です。