2

、私は実体が必要であることを言う:繰り返しプロパティをNDBの通常のプロパティとして使用できますか? GoogleのApp EngineのNDBで

  • 時々文字列
  • は時々、文字列
  • フィールドのリストは、私は両方の必要はありません
  • を必要とされることはありません含ま含ま同じ時刻に

単一の要素を持つ繰り返しプロパティのクエリが反復されないプロパティと同じように機能する場合、パフォーマンスの違いがあるか、または私は時々それを通常のStringPropertyとして使用する場合でも、単一の繰り返しフィールドを持つことの不利益はありますか?

class model2(ndb.Model): 
    str1 = ndb.StringProperty() 
    str2 = ndb.StringProperty(repeated=True) 

おかげ対

class model1(ndb.Model): 
    str1 = ndb.StringProperty(repeated=True) 

基本的には(繰り返し、非繰り返しのために異なるフィールドを持つことのよりよい可読性を脇に残して)。

答えて

0

もちろん、フィールドはリストになります。 何も保存しないと、空のリストになります。文字列を追加すると、値が1つのリストになります。

このフィールドはリストになりますように、1つの要素のリストから照会する場合は、値を追加するだけで、「field.append(yourstring)を呼び出し

+0

おかげで、に比べてコスト/パフォーマンスの低下があることを忘れないでください単一のフィールド? – Borja

+0

彼らはインデックスを持っていません。あなたが1000要素を持っていても、コストは同じです – janscas

関連する問題