私はモデルを持っています:
class MyModel(db.Model):
some_list = db.StringListProperty(indexed=True)
some_value = db.StringProperty(indexed=True)
および複合インデックス:
indexes:
- kind: MyModel
properties:
- name: some_list
- name: some_value
新しいエンティティを作成する場合:
entity = MyModel(some_list=['a', 'b'], some_value='xxx')
次に、それをデータストアに入れます。
key = entity.put()
これにより、
- 2回の書き込み(この場合は2回の書き込み)
- インデックス付きプロパティ値ごとに2回の書き込み(この場合は2 + 4回の書き込み)
- 複合インデックス値ごとに1つの書き込み(この場合は2つの書き込み)
この場合、合計10回の書き込みが行われます。これまでのところ、私はドキュメントを理解しています。
しかし今、私は既存のプロパティを取得し、some_listに「c」を追加して元に戻します。
existing = MyModel.get(key)
existing.some_list.append('c')
existing.put()
データストアへの書き込みはいくつですか?
ドキュメントには次のように書かれています。
変更されたインデックス付きプロパティ値ごとに1つの書き込み+4つの書き込み+変更された複合インデックス値ごとに2つの書き込み
これは、some_listの「a」と「b」のインデックスを書き直す必要がないことを意味しますか?
1 + 4 + 2=7書き込み
または、some_listが変更されたため、some_listの「a」と「b」のインデックスが書き直されました。
1 + 12 + 6=19書き込み
?