2012-08-10 51 views
16

而不是一個單一的StringProperty(), 我想存儲串確實NDB有一個列表屬性

class BlogPost(ndb.Model): 
    s1 = ndb.StringProperty(required=True) 
    s2 = ndb.StringProperty(required=True) 
    s3 = ndb.StringProperty(required=True) 

的名單,我寧願去

class BlogPost(ndb.Model): 
    my_strings = ndb.StringListProperty() # does this exist? 

回答

30

是,使用重複屬性:

重複= True的任何屬性都會成爲重複屬性。 屬性獲取基礎類型的值列表,而不是單個值。例如,使用 IntegerProperty(repeat = True)定義的屬性值是一個整數列表。

看到文檔:Repeated Properties

+1

注意它是由程序員來確保列表的長度是3(如果你只想要一個長度爲3的列表) – 2012-08-10 08:48:49

6

另外,如果你只在列表工作,你不需要索引可以使用ndb.JsonProperty將解析與非空有效 JSON對象的列表。通過這種方式,也可以壓縮您的數據,但是如果您不將它作爲參數使用,則會丟失索引,因爲它存儲爲Blob。

相關問題