辞書をGoogle App EngineのDatastoreに突っ込む

Datasotreに辞書を入れたいなーと思う。
問題は辞書型用のプロパティクラスが用意されてないこと。


これを解決するために

  1. pickleで辞書をバイナリ化
  2. BlobPropertyのモデルを作る
  3. Blobにバイナリを入れる

を行えばおk。


こんな感じですな。

class DictModel(db.Model):
    blob = db.BlobProperty()


model = DictModel()
model.blob = db.Blob(pickle.dumps(dict))
model.put()


データを取り出すときはpickle.loads()してあげればいい。

pickle.loads(blob)