edo1z blog

プログラミングなどに関するブログです

GAEのDatastoreのkey_nameで引っぱってきて上書きするとき

最悪なタイトルだが、きっとこれで将来の俺なら分かるだろう。

Horie(key_name='hf1')


これは、key_nameがhf1である新しいHorieを作っているのであり、これをputすると、もし既にkey_nameがhf1であるデータが保存されている場合は、上書きされる。新しいデータはkey_name以外は空のデータであるので、上書きされた瞬間に今まで保存されたデータは消えてなくなるのだ。

Horie.get_by_key_name('hf1')


これは、key_nameがhf1であるデータを引っぱってきているのであり、これをputすると、引っぱってきたデータに変更を加えずにputしているだけなので、何にもかわらないのだ。