18

我想存储一个字符串列表,而不是单个 StringProperty()

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?
4

2 回答 2

32

是的,使用重复的属性:

具有重复=True 的任何属性都将成为重复属性。该属性采用基础类型的值列表,而不是单个值。例如,使用 IntegerProperty(repeated=True) 定义的属性的值是一个整数列表。

请参阅文档:重复属性

于 2012-08-10T04:58:20.287 回答
6

此外,如果您只对列表进行操作并且不需要索引,则可以使用ndb.JsonProperty将解析具有非空有效Json 对象的列表。通过这种方式,您也可以压缩数据,但如果您不将其作为 arg 启用,则会丢失索引,因为它存储为 Blob。

于 2013-01-23T15:32:50.540 回答