而不是单个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?
答案 0 :(得分:31)
是的,使用重复的属性:
任何具有重复= True的属性都将成为重复属性。该 property获取基础类型的值列表,而不是a 单一价值。例如,使用定义的属性的值 IntegerProperty(repeated = True)是一个整数列表。
请参阅文档:Repeated Properties
答案 1 :(得分:6)
此外,如果您只在列表上操作而不需要建立索引,则可以使用ndb.JsonProperty
来解析具有非空有效 Json对象的列表。通过这种方式,还可以压缩您的数据,但如果您不将其作为arg启用,则会丢失索引,因为它存储为Blob。