ndb有一个列表属性

rob*_*ing 17 python google-app-engine list google-cloud-datastore

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

class BlogPost(ndb.Model):
    s1 = ndb.StringProperty(required=True)
    s2 = ndb.StringProperty(required=True)
    s3 = ndb.StringProperty(required=True)
Run Code Online (Sandbox Code Playgroud)

我宁愿去

class BlogPost(ndb.Model):
    my_strings = ndb.StringListProperty() # does this exist?
Run Code Online (Sandbox Code Playgroud)

rob*_*ing 31

是的,使用重复的属性:

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

请参阅文档:重复属性


Jim*_*ane 6

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