我觉得我要疯了,为什么下面的代码不起作用?
class Parent(db.Model):
childrenKeys = db.ListProperty(str,indexed=False,default=None)
p = Parent.get_or_insert(key_name='somekey')
p.childrenKeys = p.childrenKeys.append('newchildkey')
p.put()
我收到了这个错误提示:
BadValueError: Property childrenKeys is required
文档中写道:
default 是列表属性的默认值。如果为 None,则默认为空列表。列表属性可以定义自定义验证器来禁止空列表。
所以我理解的方式是,我得到了默认值(一个空列表),并向其中添加新值,然后保存它。
StringListProperty
而不是ListProperty(str)
,无论如何。 (尽管如果这对您有用,最近的 SDK 中可能已更改使它们等效)。 - Wooble