リストプロパティは、Google App Engineのエンティティごとのインデックスエントリにどのように影響しますか?
-
11-10-2019 - |
質問
エンティティごとに5000のインデックスエントリの制限があることを知っています。つまり、このようなことはできません。
class Foo(db.Model):
x = db.ListProperty(int)
y = db.ListProperty(int)
foo1 = Foo(x = range(5001))
foo1.put()
さらに、index.yamlにインデックスがある場合
- kind: Foo
properties:
- name: x
- name: y
次に、このスレッドからもわかります。
http://groups.google.com/group/google-appengine/browse_thread/thread/d5f4dcb7d00ed4c6
私はこれを行うことができないこと:
foo2 = Foo(x = range(100), y=range(100))
foo2.put()
それは私に10,000のインデックスエントリを与えるからです。
ただし、私の質問は次のとおりです。FOOのYAMLと試してみてください。
foo3 = Foo(x = range(100), y=range(100))
foo3.put()
それはまだ「エンティティのバドレケステロロール:インデックス化されたプロパティが多すぎる」例外を引き起こしますか?私のテストからは、エラーが発生しないようです。これは正しいです?この場合、FOO3にはいくつのインデックスエントリがありますか? 200(各リストの長さの合計)ですか?または、他の何か?
解決
あなたは正しい - これは例外を提起することはなく、200のインデックスエントリを作成します。
複合インデックスでこれが機能する方法は、1つのインデックス行が一意の値の組み合わせごとに作成され、組み込みのインデックスは値ごとに1つのインデックス行を作成することです。モデル。
所属していません StackOverflow